Пулы

Рассмотрим различные варианты работы с пулами.

Создание пула

  • Создать обычный пул data из одного диска pci-0000:01:00.0-scsi-0:1:0:0:
1
p='data'; d=('pci-0000:01:00.0-scsi-0:1:0:0'); o=('-o' 'ashift=12'); O=('-O' 'atime=off'); zpool create "${o[@]}" "${O[@]}" "${p}" "${d[@]}"

Расширение пула

Расширение пула происходит путём добавления дополнительного диска или увеличением размера виртуального диска.

Добавление диска в пул

  • Добавить диск pci-0000:01:00.0-scsi-0:1:1:0 в пул data:
1
p='data'; d=('pci-0000:01:00.0-scsi-0:1:1:0'); zpool add "${p}" "${d[@]}"

Расширение диска в пуле

  • Обновить информацию об устройстве sdb, на котором располагается пул data и расширить его:
1
p='data'; b='sdb'; d=('pci-0000:03:00.0-scsi-0:1:0:0'); echo 1 > "/sys/block/${b}/device/rescan" && zpool online -e "${p}" "${d[@]}"

Подключение и отключение дисков

Подключение и отключение дисков осуществляются командами attach и detach, соответственно.

Подключение второго диска (для создания зеркала)

  • Подключить новый диск pci-0000:03:00.0-scsi-0:1:1:0 к существующему диску pci-0000:03:00.0-scsi-0:1:0:0 в пуле data для создания зеркала:
1
p='data'; d=('pci-0000:03:00.0-scsi-0:1:0:0' 'pci-0000:03:00.0-scsi-0:1:1:0'); zpool attach "${p}" "${d[@]}"

Отключение второго диска

  • Отключить диск pci-0000:03:00.0-scsi-0:1:1:0 в пуле data:
1
p='data'; d=('pci-0000:03:00.0-scsi-0:1:1:0'); zpool detach "${p}" "${d[@]}"

Экспортирование пула

  • Экспортировать все пулы:
1
zpool export -a
  • Экспортировать пул data:
1
p='data'; zpool export "${p}"

Импортирование пула

  • Посмотреть список пулов для импорта:
1
zpool import
  • Импортировать пул data:
1
p='data'; zpool import "${p}"
  • Импортировать пул data с новым именем data_NEW:
1
p=('data' 'data_NEW'); zpool import "${p[@]}"
  • Импортировать пул data, состоящий из дисков pci-0000:01:00.0-scsi-0:1:0:0 и pci-0000:01:00.0-scsi-0:1:1:0:
1
p='data'; d=('-d' 'pci-0000:01:00.0-scsi-0:1:0:0' '-d' 'pci-0000:01:00.0-scsi-0:1:1:0'); zpool import "${d[@]}" "${p}"
  • …или можно разрешить ZFS автоматически поискать диски пула data:
1
p='data'; d=('-d' '/dev/disk/by-path/'); zpool import "${d[@]}" "${p}"

Переименования пула

  • Экспортировать пул data:
1
p='data'; zpool export "${p}"
  • Импортировать пул data с новым именем data_NEW:
1
p=('data' 'data_NEW'); zpool import "${p[@]}"

Обновление пула

  • Проверить необходимость обновления пула data:
1
zpool status -v
  • При появлении надписи status: Some supported features are not enabled on the pool... запустить обновление пула data:
1
p='data'; zpool upgrade "${p}"
  • …или обновить сразу все пулы:
1
zpool upgrade -a

Удаление пула

  • Удалить пул data:
1
p='data'; zpool destroy "${p}"

Восстановление пула

  • Показать список уничтоженных пулов:
1
zpool import -D
  • Восстановить уничтоженный пул data:
1
p='data'; zpool import -D "${p}"

Список пулов

Вывести список всех пулов в системе:

1
zpool list

Статус пула

  • Проверить статус пула data:
1
p='data'; zpool status -v "${p}"

Свойства пула

  • Показать все свойства всех пулов:
1
zpool get all
  • Показать все свойства пула data:
1
p='data'; zpool get all "${p}"
  • Показать свойства autoexpand, ashift и fragmentation всех пулов:
1
o=('autoexpand' 'ashift' 'fragmentation'); zpool get "$( echo "${o[@]}" | tr ' ' ',' )"
  • Показать свойства autoexpand, ashift и fragmentation пула data:
1
p='data'; o=('autoexpand' 'ashift' 'fragmentation'); zpool get "$( echo "${o[@]}" | tr ' ' ',' )" "${p}"
  • Установить свойство autoexpand в on пула data:
1
p='data'; o=('-o' 'autoexpand=on'); zpool set "${o[@]}" "${p}"
Категории
Авторы
Смотрите также
Мета
Лицензия
ID файла
UUID
Системный путь
Тип
Статистика
Количество слов
Время чтения
мин.