On 29 Aug 2012, at 01:29, Mykola Dzham wrote:

Vasiliy P. Melnik wrote:
hi all.

Есть zpool, состоит из 2-ух дисков по 2ТБ

zpool status
 pool: rpool
state: ONLINE
scan: scrub repaired 0 in 0h28m with 0 errors on Mon Jul 30 14:06:20 2012
config:

        NAME            STATE     READ WRITE CKSUM
        rpool           ONLINE       0     0     0
          mirror-0      ONLINE       0     0     0
            gpt/rpool0  ONLINE       0     0     0
            gpt/rpool1  ONLINE       0     0     0


Изначально недооценил количество халама и вот требуется добавить к
этому делу еще 2 диска в миррор, думаю купить еще 2 таких же - дабы
было одинаково.

Это пофиг. Хоть одинаково, хоть разно.

Понимаю, что можно было raidz устроить, но на живой
системе как-то не особо хочется эксперименты проводить, да и винты не
за свои деньги покупались.

Перейти на живой системе с mirror на raidz по простому не получится

По простому точно не получиться, но способ есть!
Когда-то сам делал без промежуточного бакапа по вот этой схеме:
http://pcaddicts.ca/rc/2010/05/20/migrate-zfs-mirror-to-raidz-on-freenas/

Коротко суть состоит в следующем:
например у нас был mirror из 2-х дисков а хотим получить raidz из 3-х

1. подключаем новый диск(диски) в систему
2. разбиваем mirror оставляя в нем только 1 диск
3. создаем sparse file размером 1 блок со смещением равным кол-ву блоков
   на реальном диске
4. монтируем в память memory disk используя созданный в шаге 3 файл
   его размер будет равен размеру физических дисков
5. создаем новый пул raidz, используя 2-а физических диска и один memory диск
6. удаляем из нового пула memory диск. Остается 2-а физических.
   пул переходит в degrade но работать с ним можно
7. переносим данные со старого пула (mirror) на новый (raidz)
8. удаляем старый пул
9. в новом пуле заменяем удаленный memory диск освободившимся из старого пула
   физическим диском
10. ждем окончание resilver'a

Как-то так :)

Александр Вырланович
--------------------------
Системный Администратор
ПИК "СМК"

Ответить