ZFS: подготовка к будущим дополнениям дисков
Я собираюсь собрать систему Solaris NAS, в настоящее время у нас есть два диска, и мы планируем добавить еще два в более поздние сроки (жесткие диски корпоративного уровня объемом 2 ТБ стоят немного дороже!).
Какова наилучшая конфигурация для настройки этих накопителей, учитывая, что я хочу расширить ее в будущем?
Я думал о зеркалировании дисков, а затем преобразовать в raidz, как?
Это будет максимум 4 диска, вторые два из которых будут куплены позже.
Есть идеи?
3 ответа
Зеркалирование - это путь сюда. Это позволит вам легко добавлять дополнительные зеркальные пары для расширения существующего объема. Никаких простоев, никаких хитростей, просто добавьте больше дисков, и вы уже в пути. Если вам действительно не нужно 6 ТБ 4x2 ТБ в RAIDZ, 4 ТБ 4x2 ТБ с зеркальным отображением - лучший выбор. Преимущество зеркалирования также заключается в снижении нагрузки на процессор, повышении производительности и упрощении восстановления в случае сбоя.
Но если посмотреть, как люди предпочитают жить на грани и сэкономить пару долларов, вот как можно перенести данные с зеркала с двумя дисками на raidz с четырьмя дисками:
- Создать зеркало с двумя дисками
zpool create mirror cXt1d0 cXt2d0 yourPool
- Счастливо заполнить ваши диски с данными
- Купить диски 3, 4 (такого же размера, как диски 1, 2)
- Сделайте глубокий вдох, вы собираетесь отказаться от избыточности, потому что вы дешевы.
- Разбить зеркало, сняв диск 2:
zpool detach cXt2d0 yourPool
- Создайте разреженный файл того же размера, что и ваши диски:
mkfile -n 500GB /path/file.img
- Создайте пул raidz с четырьмя дисками, используя диски 2, 3, 4 и разреженный файл:
zpool create raidz cXt2d0 cXt3d0 cXt4d0 /path/file.img newPool
- Удалите массив raidz, отсоединив разреженный файл:
zpool detach /path/file.img newPool
- Скопируйте данные из yourPool в newPool с помощью zfs send/zfs recv (или просто rsync/cp it)
- Уничтожьте оригинальный зеркальный бассейн:
zpool destroy yourPool
- Подключите диск 1 к пулу raidz:
zpool attach cXt1d0 newPool
- Дождитесь, пока ZFS восстановит силу на диске (это займет несколько часов, не обманывайте себя, если%% не движется, есть ошибка. Просто дайте ей поработать).
- Выдохните этим глубоким вдохом, у вас снова будет резервный бассейн.
Если вы не хотите сделать резервную копию содержимого и воссоздать zpool, я не думаю, что это можно сделать. Хотя вы можете создать пул raidz всего с двумя устройствами, вы не сможете расширить его до raidz с четырьмя дисками. Что вы можете сделать, это создать зеркало с первыми двумя дисками и добавить второе зеркало в пул со вторыми двумя дисками, но это не даст вам столько места, сколько вам кажется.
Вы также можете установить его как raidz, создать / использовать разреженный файл в качестве вашего последнего диска, немедленно отключить этот файл, затем, когда вы получите диск, замените разреженный файл новым диском, где он фактически станет raidz, в отличие от к линейному диапазону zfs после замены автономного разреженного файла на ваш диск.
Несмотря на то, что у вас не будет четности, у вас будет большая часть возможностей ZFS онлайн, включая очистку и некоторые возможности автоматического восстановления.