<div class="bbWrapper"><blockquote data-attributes="member: 6383" data-quote="spietrza" data-source="post: 30947"
class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
<div class="bbCodeBlock-title">
<a href="/goto/post?id=30947"
class="bbCodeBlock-sourceJump"
rel="nofollow"
data-xf-click="attribution"
data-content-selector="#post-30947">spietrza napisał:</a>
</div>
<div class="bbCodeBlock-content">
<div class="bbCodeBlock-expandContent js-expandContent ">
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.<br />
Mam za zadanie dołożyć trzeci dysk o pojemności 4TB. I co teraz ??
</div>
<div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Kliknij, aby rozwinąć...</a></div>
</div>
</blockquote>Nie.<br />
<ul>
<li data-xf-list-type="ul">Masz wolumin główny o pojemności 4TB złożony z dwóch dysków RAID'em 0.</li>
<li data-xf-list-type="ul">Zakładamy, że do archiwizacji takiego woluminu potrzebujemy 4TB dysk</li>
</ul>Kroki:<br />
<ol>
<li data-xf-list-type="ol">Instalujesz więc w serwerze nowy dysk 4TB jako drugi wolumin Single Drive lub Grupa RAID.<br />
(Single Drive jak i Grupa RAID 1, 5, 6 pozwalają na migracje do RAID 1, 5, 6)</li>
<li data-xf-list-type="ol">W App Center wyłączasz wszystkie Aplikacje.<br />
</li>
<li data-xf-list-type="ol"><span style="color: #d14841"><u><b>UWAGA!</b></u></span><ul>
<li data-xf-list-type="ul">Wyłączasz HD Station!</li>
<li data-xf-list-type="ul">Jeśli używałeś natywnego Debiana według tutoriala z forum, konieczny jest restart serwera!</li>
</ul></li>
<li data-xf-list-type="ol">Wyłączasz wszystkie usługi sieciowe w tym Samba, Web, FTP, MySQL, ... Zostawiasz tylko SSH<br />
</li>
<li data-xf-list-type="ol"><u><span style="color: #974806">Opcjonalnie dla wygody</span></u><span style="color: #d14841">:</span><ul>
<li data-xf-list-type="ul">Dla wygody instalujesz Optware lub Qnapware<br />
</li>
<li data-xf-list-type="ul">W App Center włączasz Optware/Qnapware</li>
<li data-xf-list-type="ul">Instalujesz Midnight Commandera (pomocny będzie z niego edytor <code class="bbCodeInline">mcedit</code> i sam <code class="bbCodeInline">mc</code>)<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code># Dla Optware
ipkg update
ipkg install mc
# Dla Qnapware
opkg update
opkg install mc</code></pre>
</div>
</div></li>
</ul></li>
<li data-xf-list-type="ol">Logujesz się do serwera po SSH (<a href="https://forum.qnap.net.pl/temat/jak-po%C5%82%C4%85czy%C4%87-si%C4%99-do-terminala-konsoli-linux-shell-bash-sh-w-serwerze-qnap-putty-windows.7553/" class="link link--internal" data-proxy-href="/proxy.php?link=https%3A%2F%2Fforum.qnap.net.pl%2Ftemat%2Fjak-po%25C5%2582%25C4%2585czy%25C4%2587-si%25C4%2599-do-terminala-konsoli-linux-shell-bash-sh-w-serwerze-qnap-putty-windows.7553%2F&hash=f5a2c2a52fc782523d01d7505881aed5">FAQ - Jak połączyć się do terminala/konsoli Linux - shell Bash/SH w serwerze QNAP (PuTTY Windows)</a>)</li>
<li data-xf-list-type="ol">Szukasz lokalizację, do której przyłączony jest pierwszy wolumin:<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code># 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</code></pre>
</div>
</div><br />
... i sprawdzasz czy, aby to ten poleceniem, np. listując jego zawartość:<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code>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</code></pre>
</div>
</div></li>
<li data-xf-list-type="ol">Szukasz lokalizacji, w której podłączono, drugi - nowy wolumin:<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code>mount | grep mapper</code></pre>
</div>
</div></li>
<li data-xf-list-type="ol">Kopiujesz zawartość woluminu głównego/pierwszego do woluminu utworzonego na nowym dysku:<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code># 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</code></pre>
</div>
</div></li>
<li data-xf-list-type="ol">Po zakończonym procesie kopiowania zmieniasz w pliku <code class="bbCodeInline">/etc/config/qpkg.conf</code> lokalizacje zainstalowanych aplikacji i wskazujesz nowy dysk.<br />
Możesz to zrobić manualnie np. edytorem z Midnight Commander'a zamieniając lokalizacje instalacji w polach <code class="bbCodeInline">Install_Path</code> oraz <code class="bbCodeInline">Shell</code> dla każdej z aplikacji. <br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code>mcedit /etc/config/qpkg.conf</code></pre>
</div>
</div><br />
Lub możesz to zrobić automatycznie:<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Bash:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="bash"><code>cp /etc/config/qpkg.conf /share/Public/kopia.qpkg.conf.bak
# zamień CACHEDEV1 => CACHEDEV4
sed -i /etc/config/qpkg.conf -e "s:CACHEDEV1:CACHEDEV4:"</code></pre>
</div>
</div></li>
<li data-xf-list-type="ol">Podobny zabieg jak powyżej zmiany lokalizacji danych będziesz musiał przeprowadzić na takich plikach jak <code class="bbCodeInline">/etc/config/...</code><br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
HTML:
<button class="copy-button-cc"
data-xf-init="copy-cc">
<span data-xf-init="tooltip" title="Kopiuj do schowka"><i class="fa fa-clipboard" aria-hidden="true"></i></span>
</button>
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="html"><code>uLinux.conf
crontab
smb.conf
nfssetting
def_share.info
libtrash.conf
php.user.ini
php/php.ini
rsyncd.conf
apache/extra/apache-dav.conf</code></pre>
</div>
</div>W tym celu najlepiej zrobić kopię całego katalogu <code class="bbCodeInline">/etc/config</code>. Zrobisz ją łatwo programem Midnight Commander: <code class="bbCodeInline">mc</code></li>
<li data-xf-list-type="ol">Zrestartuj serwer.</li>
<li data-xf-list-type="ol">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.</li>
<li data-xf-list-type="ol">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.</li>
</ol></div>