Instruktaż/Tutorial Ręczne przyłączenie woluminów ze starych konfiguracji NAS

Status
Brak możliwości dodawania odpowiedzi.
Silas Mariusz

Silas Mariusz

rm -rf /
Help us, GOD!
5 Kwiecień 2008
10 173
31
2 250
153
39
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE
informacja o zastosowaniu procedury Dotyczy oprogramowania w wersji większej od 4.0 z wbudowanym Storage Managerem i mniejszej od 4.2.
W przypadku firmware'u w wersji 4.2 i nowszej oraz 3.8 i starszej, system automatycznie podłączy woluminy podchodzące z innych konfiguracji systemów NAS bez ingerencji użytkownika.


Konfiguracja partycji na dyskach twardych w serwerach QNAP NAS:
  • Dyski zainicjowane na firmwarze 3.8 lub mniejszym posiadają 4 partycje, gdzie partycja nr.3 z danymi użytkownika, to zwyczajny EXT3/4.
  • W przypadku dysków twardych zainicjowanych na serwerach NAS ze Storage Pool Managerem, czyli w wersji 4.0 (HAL) i nowszych, każdy z dysków posiada 5 partycji. Partycja z danymi użytkownika nr. 3 to kontener pod RAID'a pod każdy typ konfiguracji woluminu (nawet jeśli dysk został utworzony w trybie Single). Taki zabieg ułatwia elastyczniejsze zarządzanie woluminami oraz migrację do dowolnych poziomów RAID między dowolnymi grupami urządzeń.

Jak sprawdzić ile mam partycji na dyskach?
Zaloguj się na konsole shell (SSH) serwera QNAP NAS i wykonaj: parted /dev/sd? print gdzie w miejscu ? należy podać kolejno litery a, b, c, d... odpowiadającą numerom zainstalowanych dysków twardych.
Bash:
parted /dev/sda print
parted /dev/sdb print
Przykład:
Kod:
Model: TOSHIBA DT01ACA300 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name     Flags
 1      20.5kB  543MB   543MB   ext3            primary
 2      543MB   1086MB  543MB   linux-swap(v1)  primary
 3      1086MB  2991GB  2990GB                  primary
 4      2991GB  2992GB  543MB   ext3            primary
 5      2992GB  3001GB  8554MB  linux-swap(v1)  primary


Jak ręcznie zamountować dyski z poprzednich konfiguracji na nowo-zainicjowanym urządzeniu?
Sprawa wydaje się banalna, ale jeśli podłączymy dysk o tej samej grupie raid nr. 1 z poprzedniej konfiguracji do nowo zainicjowanego urządzenia, w którym jest już taka sama grupa, to powstaje konflikt.

Ważne notki przed przystąpieniem do ręcznego procesu podłączenia dysków do istniejących już konfiguracji:

wersja firmware Wszystkie poniższe polecenia dotyczą wyłącznie oprogramowania w wersji 4.0 i mniejszej od 4.2.
(W przypadku firmware'u w wersji 4.2, system automatycznie podłączy woluminy podchodzące z innych konfiguracji systemów NAS bez ingerencji użytkownika)

dyski zainicjowane w firmware 3.8 lub starszym Podłączanie dysków z konfiguracji zainicjowanych w starej wersji oprogramowaniu 3.8 i niższych mających 4 partycje na dysku, prowadzi bez ostrzeżenia do inicjacji dysku do pracy w nowej konfiguracji (HAL). Dlatego przełożenie dysków ze starej konfiguracji powinno odbywać się przez bezpieczny proces migracji systemu, który szczegółowo opisany jest w instrukcji obsługi.
(Odzyskanie danych z takiego dysku wciąż jest możliwe za pomocą programu R-Studio ze skutkiem 100% o ile dalsze czynności na dysku nie zostały podjęte)

migracja Proces migracji można wywołać na sucho przywracając serwer NAS bez dysków twardych do ustawień fabrycznych przytrzymując tylny przycisk resetu przez 10sek. Do fabrycznie zresetowanego urządzenia należy zainstalować dyski z innego serwera NAS, aby rozpocząć proces migracji. Szczegółowe informacje na ten temat znajdują się w instrukcji obsługi dostępnej na docs.qnap.com pod hasłem "system migration".

powtarzające się nazwy woluminów W poniżej opisanej procedurze polecenia zmiany nazw grup woluminów oraz zmiany nazw woluminów logicznych dokonuje się wyłącznie w przypadku przełożenia dysków z innej konfiguracji mających tą samą nazwę co dysk podstawowy. Analogicznie, kiedy przekładamy dysk/grupę woluminów nr. 1 z serwera do serwera w którym już o tej samej pozycji numer 1 (podstawowej) 1 znajduje się zainstalowany wolumin. W innych przypadkach pomijamy zmianę nazwy i wykonujemy tylko polecenie inicjacji lvm'a.


Procedura
  1. Włączyć serwer wyłącznie z nowo zainicjowanym dyskiem
  2. Kiedy serwer się uruchomi, należy hot-swap ("na gorąco") podłączyć dysk z poprzedniej konfiguracji systemu
  3. Połączyć się do konsoli shell (SSH) serwera QNAP i sprawdzić czy dysk został poprawnie wykryty:
    Bash:
    fdisk -l 2>/dev/null | grep /dev/sd

    Listę zainstalowanych dysków w kieszeniach serwera można wyświetlić w ten sposób:
    Bash:
    egrep '(Disk|sd)' /etc/enclosure_0.conf
    Przykładowy wynik:
    Kod:
    [PhysicalDisk_1]
    pd_sys_name=/dev/sda
    [PhysicalDisk_2]
    pd_sys_name=/dev/sdc
    [PhysicalDisk_3]
  4. W tym przykładzie będę chciał podłączyć dwa woluminy z dysku numer 2 (/dev/sdc) oraz z dysku numer 3 (/dev/sdd). Wobec tego upewniam się jakie na dyskach są partycję poleceniem:
    Bash:
    parted /dev/sdc print
    parted /dev/sdd print
    Przykład:
    Kod:
    Model: Seagate ST31000340NS (scsi)
    Disk /dev/sdc: 1000GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    
    Number  Start   End     Size    File system     Name     Flags
    1      20.5kB  543MB   543MB   ext3            primary
    2      543MB   1086MB  543MB   linux-swap(v1)  primary
    3      1086MB  991GB   990GB                   primary
    4      991GB   992GB   543MB   ext3            primary
    5      992GB   1000GB  8554MB  linux-swap(v1)  primary
  5. Jak widać na partycji nr. 3 znajduje się kontener RAID dla dysku pojedynczego. Wyświetlamy szczegóły i poszukujemy wartości name:
    Bash:
    mdadm -E /dev/sdc3
    Przykład:
    Kod:
    /dev/sdc3:
              Magic : a92b4efc
            Version : 1.0
        Feature Map : 0x0
         Array UUID : ab24782d:332a3549:ca69f773:abab7136
               Name : 1
      Creation Time : Mon Jan  9 00:58:36 2012
         Raid Level : raid1
       Raid Devices : 1
    
    Avail Dev Size : 1933615240 (922.02 GiB 990.01 GB)
         Array Size : 966807616 (922.02 GiB 990.01 GB)
      Used Dev Size : 1933615232 (922.02 GiB 990.01 GB)
       Super Offset : 1933615504 sectors
       Unused Space : before=0 sectors, after=272 sectors
              State : active
        Device UUID : 2f8c0de9:b21f081a:9198f81c:aeec4a49
    
        Update Time : Fri Nov  7 00:15:01 2014
           Checksum : 3081f628 - correct
             Events : 5
    
    
       Device Role : Active device 0
       Array State : A ('A' == active, '.' == missing, 'R' == replacing)
  6. Jeśli wartość name wynosi:
    • 1 co będzie się pokrywać z naszym podstawowym dyskiem, na którym zainicjowaliśmy system, to składamy raid pojedynczego dysku z dodatkowym argumentem --update=name:
      Bash:
      mdadm -A /dev/md2 /dev/sdc3 --update=name
    • 3 i jest inna od pozostałych, to składamy raid pojedynczego dysku w sposób standardowy:
      Bash:
      mdadm -A /dev/md3 /dev/sdd3
    Notka: Należy pamiętać, że kolejność md2, md3 nie jest przypadkowa i nie może pokrywać się z istniejącymi w systemie macierzami RAID.
  7. Poleceniem pvscan skanujemy dostępne woluminy a poleceniem pvdisplay wyświetlamy o nich informacje szczegółowe:
    Bash:
    pvscan
    Przykład:
    Kod:
      PV /dev/md3   VG vg3   lvm2 [456.27 GiB / 0    free]
      PV /dev/md2   VG vg1   lvm2 [922.02 GiB / 0    free]
      PV /dev/md1   VG vg1   lvm2 [2.72 TiB / 0    free]
      Total: 3 [4.07 TiB] / in use: 3 [4.07 TiB] / in no VG: 0 [0   ]
    Bash:
    pvdisplay
    Przykład:
    Kod:
      --- Physical volume ---
      PV Name               /dev/md3
      VG Name               vg3
      PV Size               456.27 GiB / not usable 2.38 MiB
      Allocatable           yes (but full)
      PE Size               4.00 MiB
      Total PE              116804
      Free PE               0
      Allocated PE          116804
      PV UUID               A4UDOl-Rmv0-mlAE-fN41-Psmq-qD6g-170VSR
    
      --- Physical volume ---
      PV Name               /dev/md2
      VG Name               vg1
      PV Size               922.02 GiB / not usable 4.06 MiB
      Allocatable           yes (but full)
      PE Size               4.00 MiB
      Total PE              236036
      Free PE               0
      Allocated PE          236036
      PV UUID               wL2S9J-okz8-PRva-UY20-FKSh-EzUO-zp1f5M
    
      --- Physical volume ---
      PV Name               /dev/md1
      VG Name               vg1
      PV Size               2.72 TiB / not usable 2.81 MiB
      Allocatable           yes (but full)
      PE Size               4.00 MiB
      Total PE              712966
      Free PE               0
      Allocated PE          712966
      PV UUID               p0lZZW-SLT5-CBE1-WNoF-YURm-Uz7h-6KGb18
  8. (!) Następnie poleceniem vgdisplay wyświetlamy listę dostępnych grup woluminów:
    Bash:
    vgdisplay
    Przykład: (proszę zwrócić uwagę na nazwy grup woluminów w poniższym przykładzie)
    Kod:
      --- Volume group ---
      VG Name               vg3
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               456.27 GiB
      PE Size               4.00 MiB
      Total PE              116804
      Alloc PE / Size       116804 / 456.27 GiB
      Free  PE / Size       0 / 0
      VG UUID               QV1b07-prt8-YIWT-w7IX-88eI-JOyb-hGRv7W
    
      --- Volume group ---
      VG Name               vg1
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               922.02 GiB
      PE Size               4.00 MiB
      Total PE              236036
      Alloc PE / Size       236036 / 922.02 GiB
      Free  PE / Size       0 / 0
      VG UUID               4WmZWx-OYkD-mRKz-imr5-oUti-5Dod-r9UIH0
    
      --- Volume group ---
      VG Name               vg1
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               2.72 TiB
      PE Size               4.00 MiB
      Total PE              712966
      Alloc PE / Size       712966 / 2.72 TiB
      Free  PE / Size       0 / 0
      VG UUID               uwqutD-SgMP-5CHD-kp6R-8jBC-VMXp-hRPeKU
    Bash:
    mdadm -A /dev/md2 /dev/sdc3 --update=name
  9. Jak widać wolumin o identyfikatorze UUID 4WmZWx-OYkD-mRKz-imr5-oUti-5Dod-r9UIH0 pokrywa się nazwą grupy vg1 z nazwą grupy, w której znajduje się podstawowy pojedynczy dysk systemu.
    Fix: W tym wypadku należy zmienić nazwę tej grupy na inną, która nie jest zajęta, np.: vg2:
    Bash:
    vgrename 4WmZWx-OYkD-mRKz-imr5-oUti-5Dod-r9UIH0 vg2
    Wynik:
    Kod:
      Volume group "vg1" successfully renamed to "vg2"
  10. Upewniamy się, że nazwa grupy woluminów jest prawidłowa i żadna z nich się nie pokrywa:
    Bash:
    vgs
    Przykład:
    Kod:
      VG   #PV #LV #SN Attr   VSize   VFree
      vg1    1   2   0 wz--n-   2.72t    0
      vg2    1   2   0 wz--n- 922.02g    0
      vg3    1   2   0 wz--n- 456.27g    0
  11. Wyświetlamy listę fizycznych woluminów:
    Bash:
    pvs
    Przykład:
    Kod:
      PV         VG   Fmt  Attr PSize   PFree
      /dev/md1   vg1  lvm2 a--    2.72t    0
      /dev/md2   vg2  lvm2 a--  922.02g    0
      /dev/md3   vg3  lvm2 a--  456.27g    0
  12. (!) Wyświetlamy listę logicznych woluminów:
    Bash:
    lvs
    Przykład: (proszę zwrócić uwagę na nazwy logicznych woluminów w poniższym przykładzie)
    Kod:
      LV    VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
      lv1   vg1  -wi-ao--   2.70t
      lv544 vg1  -wi-----  20.00g
      lv1   vg2  -wi----- 912.80g
      lv544 vg2  -wi-----   9.22g
      lv3   vg3  -wi----- 451.70g
      lv546 vg3  -wi-----   4.56g
  13. Jak widać w powyższym przykładzie nazwa logicznego woluminu:
    • lv1 o wielkości 912.80g z grupy vg2 (wyświetlonej w punkcie 11);
    oraz
    • lv544 o wielkości 9.22g z grupy vg2 (wyświetlonej w punkcie 11)
    pokrywa się z nazwą podstawowego woluminu, na którym został zainicjowany serwer NAS.
    Fix: W tym celu należy zmienić nazwę grupy na inną, która jest wolna:
    Bash:
    lvrename vg2 lv1 lv2
    oraz
    Bash:
    lvrename vg2 lv544 lv545
    Wynik:
    Kod:
      Renamed "lv1" to "lv2" in volume group "vg2"
      Renamed "lv544" to "lv545" in volume group "vg2"
  14. Ponownie wyświetlamy listę logicznych woluminów poleceniem lvs i upewniamy się, że wszystkie mają swoją unikalną nazwę:
    Bash:
    lvs
    Przykład:
    Kod:
      LV    VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
      lv1   vg1  -wi-ao--   2.70t
      lv544 vg1  -wi-----  20.00g
      lv2   vg2  -wi----- 912.80g
      lv545 vg2  -wi-----   9.22g
      lv3   vg3  -wi----- 451.70g
      lv546 vg3  -wi-----   4.56g
  15. Jeśli wszystko jest w porządku, to przystępujemy do zainicjowania lvm'a:
    Bash:
    /etc/init.d/init_lvm.sh
    Przykładowy wynik polecenia:
    Kod:
    Changing old config name...
    Reinitialing...
    Detect disk(8, 0)...
    Detect disk(8, 16)...
    ignore non-root enclosure disk(8, 16).
    Detect disk(8, 32)...
    Detect disk(8, 48)...
    sys_startup_p2:got called count = -1
    Done
  16. Aby upewnić się, że woluminy zostały podłączone, wykonujemy polecenia mount oraz df -h, aby wyświetlić fizyczną i dostępną wolną przestrzeń:
    Bash:
    mount
    Wynik:
    Kod:
    ...
    /dev/mapper/cachedev1 on /share/CACHEDEV1_DATA type ext4 (rw,usrjquota=aquota.user,jqfmt=vfsv0,user_xattr,data=ordered,delalloc,noacl)
    ...
    /dev/mapper/cachedev2 on /share/CACHEDEV2_DATA type ext4 (rw,usrjquota=aquota.user,jqfmt=vfsv0,user_xattr,data=ordered,delalloc,noacl)
    /dev/mapper/cachedev3 on /share/CACHEDEV3_DATA type ext4 (rw,usrjquota=aquota.user,jqfmt=vfsv0,user_xattr,data=ordered,delalloc,noacl)
    ...
    Bash:
    df -h
    Wynik:
    Kod:
    Filesystem                Size      Used Available Use% Mounted on
    ...
    /dev/mapper/cachedev1     2.7T    404.4M      2.7T   0% /share/CACHEDEV1_DATA
    ...
    /dev/mapper/cachedev2   898.3G    890.3G      7.5G  99% /share/CACHEDEV2_DATA
    /dev/mapper/cachedev3   444.5G    321.8G    122.1G  72% /share/CACHEDEV3_DATA
[/information]
 
Status
Brak możliwości dodawania odpowiedzi.

Użytkownicy znaleźli tą stronę używając tych słów:

  1. migracja danych z dysków
  2. migracja systemu z dysku na dysk
  3. lvm2
  4. lvrename
  5. przełożenie dysku