Pomoc Podmiana systemowego wolumenu z RAID 0 na single przy uzyciu dodatkowego dysku

spietrza

Download Station
Q's Professional
20 Marzec 2013
428
83
118
48
Poznań
QNAP
TVS-x71
Ethernet
802.11ad
Witam wszystkich,

trafił mi się ciekawy problem do rozwiązania. A dokładnie mam na tapecie QNAP-a 3 dyskami. SSD jako bufor oraz dwa 2 x 2TB w RAID0.
Mam za zadanie dołożyć trzeci dysk o pojemności 4TB. I co teraz ??

Dane z dysków 2 x 2TB kopiuję na dysk 4TB ( jako zewnętrzny ). Następnie czyszczę oba dyski 2 TB i zakładam na nich RAID 1.
Następnie dane z 4TB kopiuję na dyski w grupie RAID 1. Następnie podpinam dysk 4TB i podnoszę grupę RAID 1 do RAID 5 dla 3 dysków.

Czy to rozwiązanie będzie jak najbardziej optymalne i bezpieczne ?
 
Dziękuję za odpowiedź. Zgadza się. Na dzień dzisiejszy właściciel serwera nie patrzy na pojemność ( dzisiaj ledwo ma zajęte 1,76TB) ale zamierza pozostałe dwa dyski 2TB wymienić w przyszłości niedalekiej.
 
  • Lubię to
Reakcje: kaktus
trafił mi się ciekawy problem do rozwiązania. A dokładnie mam na tapecie QNAP-a 3 dyskami. SSD jako bufor oraz dwa 2 x 2TB w RAID0.
Mam za zadanie dołożyć trzeci dysk o pojemności 4TB. I co teraz ??
Nie.
  • Masz wolumin główny o pojemności 4TB złożony z dwóch dysków RAID'em 0.
  • Zakładamy, że do archiwizacji takiego woluminu potrzebujemy 4TB dysk
Kroki:
  1. Instalujesz więc w serwerze nowy dysk 4TB jako drugi wolumin Single Drive lub Grupa RAID.
    (Single Drive jak i Grupa RAID 1, 5, 6 pozwalają na migracje do RAID 1, 5, 6)
  2. W App Center wyłączasz wszystkie Aplikacje.
  3. UWAGA!
    • Wyłączasz HD Station!
    • Jeśli używałeś natywnego Debiana według tutoriala z forum, konieczny jest restart serwera!
  4. Wyłączasz wszystkie usługi sieciowe w tym Samba, Web, FTP, MySQL, ... Zostawiasz tylko SSH
  5. Opcjonalnie dla wygody:
    • Dla wygody instalujesz Optware lub Qnapware
    • W App Center włączasz Optware/Qnapware
    • Instalujesz Midnight Commandera (pomocny będzie z niego edytor mcedit i sam mc)
      Bash:
      # Dla Optware
      ipkg update
      ipkg install mc
      
      # Dla Qnapware
      opkg update
      opkg install mc
  6. Logujesz się do serwera po SSH (FAQ - Jak połączyć się do terminala/konsoli Linux - shell Bash/SH w serwerze QNAP (PuTTY Windows))
  7. Szukasz lokalizację, do której przyłączony jest pierwszy wolumin:
    Bash:
    # metoda 1 przez szukanie katalogu Public:
    cd /share && cd /share/$(readlink Public) && cd ..
    pwd
    
    # metoda 2 przez szukanie katalogu Public - prawidłowa:
    cd $(getcfg `getcfg SHARE_DEF defPublic -d Public -f /etc/config/def_share.info` path -f /etc/config/smb.conf) && cd ..
    pwd

    ... i sprawdzasz czy, aby to ten poleceniem, np. listując jego zawartość:
    Bash:
    ll /share/CACHEDEV1_DATA
    
    # Pelny przyklad:
    #cd $(getcfg `getcfg SHARE_DEF defPublic -d Public -f /etc/config/def_share.info` path -f /etc/config/smb.conf) && cd ..
    #ll
  8. Szukasz lokalizacji, w której podłączono, drugi - nowy wolumin:
    Bash:
    mount | grep mapper
  9. Kopiujesz zawartość woluminu głównego/pierwszego do woluminu utworzonego na nowym dysku:
    Bash:
    # Polecenie:
    #rsync -avh --progress /share/zrodlowy /share/docelowy
    
    # Przyklad uzycia:
    rsync -avhP /share/CACHEDEV1_DATA /share/CACHEDEV4_DATA
    
    # Options
    # -a, --archive               archive mode; equals -rlptgoD:
    #                              -r, --recursive             recurse into directories
    #                              -l, --links                 copy symlinks as symlinks
    #                              -p, --perms                 preserve permissions
    #                              -t, --times                 preserve modification times
    #                              -g, --group                 preserve group
    #                              -o, --owner                 preserve owner (super-user only)
    #                              -D                          same as --devices --specials
    #                                  --devices               preserve device files (super-user only)
    #                                  --specials              preserve special files
    # -v, --verbose               increase verbosity
    # -h, --human-readable        output numbers in a human-readable format
    # -P                          same as --partial --progress
    #     --partial               keep partially transferred files
    #     --progress              show progress during transfer
  10. Po zakończonym procesie kopiowania zmieniasz w pliku /etc/config/qpkg.conf lokalizacje zainstalowanych aplikacji i wskazujesz nowy dysk.
    Możesz to zrobić manualnie np. edytorem z Midnight Commander'a zamieniając lokalizacje instalacji w polach Install_Path oraz Shell dla każdej z aplikacji.
    Bash:
    mcedit /etc/config/qpkg.conf

    Lub możesz to zrobić automatycznie:
    Bash:
    cp /etc/config/qpkg.conf /share/Public/kopia.qpkg.conf.bak
    
    # zamień CACHEDEV1 => CACHEDEV4
    sed -i /etc/config/qpkg.conf -e "s:CACHEDEV1:CACHEDEV4:"
  11. Podobny zabieg jak powyżej zmiany lokalizacji danych będziesz musiał przeprowadzić na takich plikach jak /etc/config/...
    HTML:
    uLinux.conf
    crontab
    smb.conf
    nfssetting
    def_share.info
    libtrash.conf
    php.user.ini
    php/php.ini
    rsyncd.conf
    apache/extra/apache-dav.conf
    W tym celu najlepiej zrobić kopię całego katalogu /etc/config. Zrobisz ją łatwo programem Midnight Commander: mc
  12. Zrestartuj serwer.
  13. Po ponownym uruchomieniu serwera, większość funkcji powinna już działać przy użyciu nowego woluminu. Dla świętego spokoju wyłącz serwer i wyciągnij dyski z pierwszego woluminu, a następnie włącz.
  14. Jeśli serwer uruchomił się poprawnie to wszystko jest okay. Włóż zatem dyski na gorąca, usuń stary wolumin i zacznij proces migracji nowego woluminu Single Drive/RAID 1 do RAID 5 przy użyciu niezagospodarowanych dysków.
 
@Silas Mariusz no naprawdę super. Widzę w tym jedno zagrożenie. Wymagane jest wyłączenie ręczne usług, administrator to tylko człowiek jak o czymś zapomni to będzie kaszka manna. Przerwany zostanie proces czy jedynie zostanie pominięty w kopiowaniu ??

Jeśli dało by się z linii komend wyłącz wszystko to tak naprawdę można by ten proces z skryptu uruchomić i pójść do domu, zgadza się ??
 
Wymagane jest wyłączenie ręczne usług, administrator to tylko człowiek jak o czymś zapomni to będzie kaszka manna. Przerwany zostanie proces czy jedynie zostanie pominięty w kopiowaniu ??
Ehhhh.
Włącz myślenie.

Przerwany zostanie proces czy jedynie zostanie pominięty w kopiowaniu ??
Czy Ty, aby kopiować pliki w swoim Apple wyłączasz komputer?

Wytłumacze Ci po co wyłaczamy usługi.
Po to, bo przenosimy dane na nowy wolumin, a usługi są podpięte pod stary. Więc pasuje je przenieść na nowy. Nie sądzisz?

Jeśli dało by się z linii komend wyłącz wszystko to tak naprawdę można by ten proces z skryptu uruchomić i pójść do domu, zgadza się ??
Dałoby się.
 
Cały czas jadę na becie więc w obrocie jestem :)
Spotkałem się ostatnio w jednym z zewnętrznych programów że jeśli usługa nie była wyłączna to przerywał cały proces kopiowania nie informując o tym użytkownika. Dlatego dobrze jest spytać czasami co i jak.
Jeśli da się skrypt to jest piękne rozwiązanie. Właśnie dałeś mi pomysł na aplikację do napisania :) Dziękuję
 
Chce ci się dla tych kilku zmian w configach pisać "aplikacje" ? Przy całej operacji przenoszenia danych ich podmiana to 0,0001% czasu.
Rób to ręcznie i daj znać czy zaskoczy wszystko po tej zmianie i wywaleniu cachedev1 - bo szczerze mnie to intresuje.
 
Operację będę wykonywał z soboty na niedzielę. Dam znać jak skończę.
Aplikację dla tej operacji nie,ale tak pomyślałem że dużo ludzi ma problem co i jak.
Więc taki automat dobrze by było napisać na przyszłość żeby tzw samo się zrobiło.
 
Ta, poszło wszystko prawidłowo. Ale zrobiłem tym sposobem jaki opisałem. W październiku dostane TVS-871T to wtedy przetestuję metodę @Silas Mariusz
Właśnie wykonałem procedurę @Silas Mariusz . Co do punktu 11 jedynie podam że php.ini jest ulokowany w /mnt/HDA_ROOT/.config/
Dodatkowo plik apache-dav.conf nie trzeba edytować ponieważ nie ma tam ścieżki do CACHEDEV
Robię restart i zobaczymy co z tego wyszło :)
No i wszystko zadziałało. QTS na nowym dysku odpalony. Usunąłem stary wolumn i teraz dołożę go do istniejącego
Znalazłem jeden problem a dokładnie dotyczy on stacji do wirtualizacji.
Ona dalej odwołuje się do starej lokalizacji. W samej stacji nie widzę opcji zmiany ścieżki, jedynie Restore ale nar azie nie klikałem aby nie zepsuć.

ai59.tinypic.com_20r92jo.png

Dodatkowo jeszcze Plex, trzyma bazę starą ale już nowych filmów nie widzi. Szuka w starej lokalizacji, muszę poszukać w plikach konfiguracyjnych plex-a aby zmienić jego starą ścieżkę
Co do Plex-a wystarczy wejść w każdą bibliotekę i w lewym górnym rogu nacisnąć na ustawienia. Następnie Edytuj bibliotekę i dodajesz nowy folder z plikami :)
 
  • ·
  • TS-x69L
  • ·
  • 1 GbE
  • ·
  • QNAP: 4.2.1 Build 20160601 S: DSM 6.0.1-7393 Update 2
Mam pytanie odnośnie migracji RAID:
Urządzenie: TS431-P
Obecnie dwa dyski 4TB w RAID1 oraz dwa dyski 4TB w RAID0. Pierwsza konfiguracja: są tam dane produkcyjne a na drugiej kopie.
Chce dyski w RAID0 sformatować i dołączyć do RAID1 robiać RAID5. Oczywiście nie chce utracić danych z RAID1.
Czy jak sformatuje i znzniszcze RAID0, to pojawi się opcja rozszerzenia RAID1 do RAID5 i QNAP zrobi to w locie?