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

spietrza

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ć.

Ai59tinypiccom 20r92jo

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?