The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как переименовать устройства в ZFS пуле?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Файловые системы, диски / Linux)
Изначальное сообщение [ Отслеживать ]

"Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 19-Авг-14, 09:02 
Есть ZFS-Pool, собранный из устройств ветки /dev/disk/by-id/
После апгрейда Ubuntu 13.* на 14.04 именование устройств изменилось
с
/dev/disk/by-id/scsi-SATA_TOSHIBA_DT01ACA_Z2KAVJ1GS-part2
на
/dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2

После загрузки я получил неработающий пул:

# zpool import 
   pool: zpool1
     id: 1890885385990007722
  state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:

    zpool1                                UNAVAIL  insufficient replicas
      raidz1-0                            UNAVAIL  insufficient replicas
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS  UNAVAIL
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS  UNAVAIL
        ata-TOSHIBA_DT01ACA200_Z2K7A82AS  ONLINE
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS  UNAVAIL


После того как сделал линки на диски со старыми именованиями:
ln ../../sdd2 scsi-SATA_TOSHIBA_DT01ACA_Z2K7A82AS-part2
ln ../../sdc2 scsi-SATA_TOSHIBA_DT01ACA_Z2K9D75AS-part2
ln ../../sde2 scsi-SATA_TOSHIBA_DT01ACA_Z2K9E2BAS-part2
ln ../../sda2 scsi-SATA_TOSHIBA_DT01ACA_Z2KAVJ1GS-part2

Пул оказался восстановленным:

# zpool status
  pool: zpool1
state: ONLINE
  scan: none requested
config:

    NAME                                                STATE     READ WRITE CKSUM
    zpool1                                              ONLINE       0     0     0
      raidz1-0                                          ONLINE       0     0     0
        scsi-SATA_TOSHIBA_DT01ACA_Z2KAVJ1GS-part2       ONLINE       0     0     0
        scsi-SATA_TOSHIBA_DT01ACA_Z2K9D75AS-part2       ONLINE       0     0     0
        scsi-SATA_TOSHIBA_DT01ACA_Z2K7A82AS-part2       ONLINE       0     0     0
        scsi-SATA_TOSHIBA_DT01ACA_Z2K9E2BAS-part2       ONLINE       0     0     0
    cache
      ata-INTEL_SSDSA2CW120G3_BTPR148200H3120LGN-part2  ONLINE       0     0     0

errors: No known data errors

Включил этот костыль в автозагрузку, всё вроде нормально.

Как переименовать устройства в ZFS пуле?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Денис (??) on 19-Авг-14, 12:40 
можно попробовать сделать экспорт пула, потом импорт, новые имена должны запомниться
переименовать можно присвоив метки дискам и опять экспорт-импорт


>[оверквотинг удален]
>  0     0
>      scsi-SATA_TOSHIBA_DT01ACA_Z2K9E2BAS-part2      
> ONLINE       0    
>  0     0
>  cache
>    ata-INTEL_SSDSA2CW120G3_BTPR148200H3120LGN-part2  ONLINE      
> 0     0     0
> errors: No known data errors
> Включил этот костыль в автозагрузку, всё вроде нормально.
> Как переименовать устройства в ZFS пуле?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Сергей (??) on 19-Авг-14, 23:07 
ZFS пул надо было создавать по меткам, а не по устройствам...


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 20-Авг-14, 08:22 
Вы предлагаете получить DEGRADED когда начнется свистопляска с метками?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Сергей (??) on 20-Авг-14, 09:27 
> Вы предлагаете получить DEGRADED когда начнется свистопляска с метками?

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


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 20-Авг-14, 11:01 
> ZFS пул надо было создавать по меткам, а не по устройствам...

Сначала подумал что вы про имена устройств.

Интересно, как вы собираетесь создавать ZFS-пула с помощью меток и/или UUID? Покажите пример.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Сергей (??) on 20-Авг-14, 11:17 
>> ZFS пул надо было создавать по меткам, а не по устройствам...
> Сначала подумал что вы про имена устройств.
> Интересно, как вы собираетесь создавать ZFS-пула с помощью меток и/или UUID? Покажите
> пример.

Для пула на одном диске
создание раздела сразу с меткой
gpart create .... -l archive0 ada0
или
присвоение/изменение метки
gpart modify -i <номер раздела> -l archive0 ada0
создание пула zarchive
zpool create zarchive /gpt/archive0
Даже если ada0 станет ada2 метка останется прежней...

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 20-Авг-14, 16:20 
>  zpool create zarchive /gpt/archive0

/gpt/archive0 - это что за устройство такое?

>  Даже если ada0 станет ada2 метка останется прежней...

Собственно, сейчас так оно и есть, видимо при создании пула ФС сама метки проставляет:

# blkid | grep zfs
/dev/sda2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="13333223167826600258" TYPE="zfs_member"
/dev/sdc2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="792157921517567757" TYPE="zfs_member"
/dev/sdd2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="15430966623886947453" TYPE="zfs_member"
/dev/sde2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="17956063387976000632" TYPE="zfs_member"

Только это ничем не помогает.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

5. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Аноним (??) on 20-Авг-14, 09:32 
> Вы предлагаете получить DEGRADED когда начнется свистопляска с метками?

Какая?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 20-Авг-14, 16:22 
> Какая?

Я подумал что Сергей вы про имена устройств, а он про лейблы.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Аноним (??) on 21-Авг-14, 00:42 
> Как переименовать устройства в ZFS пуле?

Никак, и вам не нужно хотеть это делать. ZFS работает с метками на дисках и найдёт их независимо от названий и порядка.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 21-Авг-14, 11:03 
Значит так:
1. Загружаюсь в однопользовательском режиме.
2. Делаю ссылки с названием старых девайсов чтобы пул заработал.
3. Пул поднимается всё в порядке.
4. Делаю "zpool export zpool1" - файл /etc/zfs/zpool.cache пропадает, пул готов к импорту.
5. Удаляю ссылки с названием старых девайсов.
6. Делаю "zpool import":
# zpool import 
   pool: zpool1
     id: 1890885385990007722
  state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
    zpool1                                UNAVAIL  insufficient replicas
      raidz1-0                            UNAVAIL  insufficient replicas
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS  UNAVAIL
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS  UNAVAIL
        ata-TOSHIBA_DT01ACA200_Z2K7A82AS  ONLINE
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS  UNAVAIL

И видим в чем проблема:
Во-первых утилита вывела список устройств, а не разделов - почему?
Во-вторых одно из устройств оказалось в онлайне - что это значит?

Именно эта неразбериха не даёт сделать нормальный "zfs import", т.к. ругается что одно из устройств в онлайне, да и вообще это надо делать из разделов, а не устройств.

# ls -l /dev/disk/by-id/ata-T*part2
lrwxrwxrwx 1 root root 10 авг.  21 11:41 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS-part2 -> ../../sdd2
lrwxrwxrwx 1 root root 10 авг.  21 11:41 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 авг.  21 11:41 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2 -> ../../sde2
lrwxrwxrwx 1 root root 10 авг.  21 11:41 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2 -> ../../sda2

# blkid | grep zpool
/dev/sda2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="13333223167826600258" TYPE="zfs_member"
/dev/sdc2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="792157921517567757" TYPE="zfs_member"
/dev/sdd2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="15430966623886947453" TYPE="zfs_member"
/dev/sde2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="17956063387976000632" TYPE="zfs_member"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Денис (??) on 23-Авг-14, 06:21 
Ключ -D позволяет указать каталог в котором искать пул
попробуйте zpool import -D /dev/disk/by-id

>[оверквотинг удален]
> -> ../../sda2
>

# blkid | grep zpool 
> /dev/sda2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="13333223167826600258"
> TYPE="zfs_member"
> /dev/sdc2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="792157921517567757"
> TYPE="zfs_member"
> /dev/sdd2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="15430966623886947453"
> TYPE="zfs_member"
> /dev/sde2: LABEL="zpool1" UUID="1890885385990007722" UUID_SUB="17956063387976000632"
> TYPE="zfs_member"

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Как переименовать устройства в ZFS пуле?"  +/
Сообщение от Rom1 email(??) on 23-Авг-14, 12:40 
> Ключ -D позволяет указать каталог в котором искать пул
> попробуйте zpool import -D /dev/disk/by-id

Да, конечно, я знаю об этом. По-умолчанию именно в ветке /dev ищутся разделы для пула. Но это не помогает.
Сейчас я сделал отдельную каталог в корне /zpool1-mountpoints, туда скинул линки на разделы пула, экспортнул и импортнул уже из этой папки. Всё работает как положено, zdb показывает что разделы взяты из этой папки. Но это всё равно это не очень красиво. Странно что так ведет себя утилита.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру