пятница, 1 октября 2010 г.

Перемещение /var на отдельную файловую систему ZFS

В данной заметке описывается порядок действий по переносу раздела /var, находящегося на одной файловой системе с корнем /, на отдельную файловую систему. У меня эта задача возникла, когда я забыл указать этот момент при инсталляции. Этот алгоритм может быть применим и к другим системным каталогам Solaris.

Переходим в однопользовательский режим
# init 1 
Перемещаем требуемую директорию
# mv /var /var1
Создаем файловую систему. Обращаю внимание, что файловая система должна быть обязательно дочерней от корневой. В противном случае система не загрузится!
# zfs create -o mountpoint=/var rpool/ROOT/s10-u9/var
Перемещаем файлы
# mv /var1/* /var/
mv: var1/run/sysevent_channels/syseventd_channel/reg_door: can't move door across file systems
mv: var1/run/sysevent_channels/syseventd_channel/1: can't move door across file systems
mv: var1/run/kcfd_door: can't move door across file systems
mv: var1/run/picld_door: can't move door across file systems
mv: var1/run/name_service_door: can't move door across file systems
На сообщения не обращаем внимания - эти файлы создадутся после перезагрузки
# reboot
?????
PROFIT
# zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
rpool                  7.77G   126G    96K  /rpool
rpool/ROOT             4.14G   126G    21K  legacy
rpool/ROOT/s10-u9      4.14G   126G  4.14G  /
rpool/ROOT/s10-u9/var    21K   126G    21K  /var
rpool/dump             1.50G   126G  1.50G  -
rpool/export             44K   126G    23K  /export
rpool/export/home        21K   126G    21K  /export/home
rpool/swap             2.06G   128G    16K  -

2 комментария:

  1. в целом - этот метод справедлив в основе не только для zfs.

    ОтветитьУдалить
  2. Да, конечно. Просто ярешал проблему именно на ZFS ;)

    ОтветитьУдалить