LXD движущиеся контейнеры/снимки к другому диску

Путь по умолчанию для LXD /var/lib/lxd, таким образом, контейнеры находятся в /var/lib/lxd/containers и снимки помещаются в /var/lib/lxd/snapshots.

/var/раздел становится полным, таким образом, я планирую использовать другой раздел для контейнеров и снимков, который имеет намного больше пространства.

Мои текущие опции:

  • Создайте символьную ссылку на новый каталог (в другом диске)
  • Свяжите (монтируют) новый каталог в текущий
  • Измените некоторые lxd настройки (если существует), который указывает на каталог в другом диске

Не уверенный, какой метод легче и если существуют какие-либо другие способы достигнуть этого легко.

Я волнуюсь по поводу наличия проблем с apparmor, полномочиями контейнера или порождением проблем в lxd/lxc.

Который был бы корректным (или лучше всего) способ переместить их?

(Апрель 2017) ОБНОВЛЕНИЕ ******************

LXD 2.9 + поддерживает несколько пулов хранения данных.

3
задан 17 April 2017 в 11:12

2 ответа

Большая проблема с LXD состоит в том, что (в настоящее время) это только, кажется, поддерживает всего один пул хранения данных. В частности, это становится своего рода проблемой, если требуется выполнить часть контейнеров в одном дисковом томе и часть в другом. Скажите, имейте некоторые "быстрые" контейнеры в объеме SSD и некоторые "медленные" контейнеры в объеме жесткого диска.

Должен Вы хотеть только выполнить свои контейнеры в единственном объеме, решение просто как ад:

  • останавливают Ваши контейнеры
  • остановка, которую перемещают LXD (сервис lxd остановка)
  • , Ваш целый/var/lib/lxd каталог к Вашему новому пулу хранения данных
  • создают символьную ссылку на Ваш новый пул хранения данных
  • , запускают LXD (сервис lxd запускаются)
  • , Вы сделаны

, Например, если Вам смонтировали Ваше новое устройство хранения данных под/mnt/largepool в подкаталоге, названном lxd, затем создаете ссылку как это: ln -s /mnt/largepool/lxd /var/lib/lxd

Таким образом, у Вас будут свои контейнеры на Вашем новом томе.

остерегайтесь этого при использовании BTRFS или ZFS как бэкенды устройства хранения данных Вы могли бы хотеть создать необходимые подобъемы на своем новом устройстве хранения данных сначала, таким образом, Ваши контейнеры, оказывается, расположены в их собственных подобъемах. Например, если Вы имеете btrfs и имеете контейнеры, названные c1 и c2, и уже имеете каталог,/mnt/largepool/lxd/containers на месте, перед фактическим перемещением файлов, создаете подобъемы: btrfs su create /mnt/largepool/lxd/containers/c1 btrfs su create /mnt/largepool/lxd/containers/c2

Это помогло бы создать контейнерные снимки впоследствии.

я надеюсь, что эта информация была полезна.

3
ответ дан 1 December 2019 в 15:35

LXD основан на sqlite дб, таким образом, для изменения местоположения пула просто изменяют дб:

установка sqlite3 клиент, если у Вас нет одного

, эхо "ОБНОВЛЕНИЕ конфигурирует Установленное значение = ' new_pool_lxd' ГДЕ \ключ ='storage.zfs_pool_name'"; |sqlite3 /var/lib/lxd/lxd.db

, принимающий Ваш lxd дб в месте по умолчанию

затем проверка

эхо ", ВЫБИРАЕТ * ИЗ конфигурации"; |sqlite3/var/lib/lxd/lxd.db

1|storage.zfs_pool_name | надежда new_pool_lxd

это помогает

2
ответ дан 1 December 2019 в 15:35

Другие вопросы по тегам:

Похожие вопросы: