<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RAID Archive - dahlen.org</title>
	<atom:link href="https://www.dahlen.org/tag/raid/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dahlen.org/tag/raid/</link>
	<description>Private Webseite der Familie Dahlen</description>
	<lastBuildDate>Wed, 19 Feb 2025 08:52:20 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Linux Software RAID &#8211; Festplatte(n) tauschen</title>
		<link>https://www.dahlen.org/2022/11/30/linux-software-raid-festplatten-tauschen/</link>
					<comments>https://www.dahlen.org/2022/11/30/linux-software-raid-festplatten-tauschen/#respond</comments>
		
		<dc:creator><![CDATA[christoph]]></dc:creator>
		<pubDate>Wed, 30 Nov 2022 22:11:50 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Hobby]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://www.dahlen.org/?p=3497</guid>

					<description><![CDATA[<p>Corona hat mich erwischt, mit mäßigen Auswirkungen. Und die M2 SSD in meinem Server ist "geplatzt", mit deutlichen Auswirkungen. Und eine der beiden HDDs im RAID1 sagt ihren nahenden Tod via S.M.A.R.T.-Warnung voraus - zumindest das soll ohne Auswirkungen bleiben. </p>
<p>Der Beitrag <a href="https://www.dahlen.org/2022/11/30/linux-software-raid-festplatten-tauschen/">Linux Software RAID &#8211; Festplatte(n) tauschen</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-post-excerpt"><p class="wp-block-post-excerpt__excerpt">Corona hat mich erwischt, mit mäßigen Auswirkungen. Und die M2 SSD in meinem Server ist &#8222;geplatzt&#8220;, mit deutlichen Auswirkungen. Und eine der beiden HDDs im RAID1 sagt ihren nahenden Tod via S.M.A.R.T.-Warnung voraus &#8211; zumindest das soll ohne Auswirkungen bleiben. </p></div>


<span id="more-3497"></span>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Eine unwillkommene Gelegenheit also dem RAID 1 zu unverminderter Stabilität (und einer Verdoppelung der Kapazität) durch den Tausch beider Festplatten gegen neue zu verhelfen. Und da dies nicht das erste Mal ist und sicher auch nicht das letzte Mal sein wird, diesmal mit Mitschrift.</p>



<h2 class="wp-block-heading">Ausgangsituation</h2>



<p>Mein Heim-Server verwendet (aktuell) <a rel="noreferrer noopener" href="https://ubuntu.com/download/server" target="_blank">Ubuntu 22.04 Server</a> als Betriebssystem. Die beiden 2,5&#8243; <a onMouseOut="al_link_out()" onMouseOver="al_gen_multi(1852685430, {de : 'A-B01LXRWWB6'}, 'de', 'default');"  rel="nofollow" target="_blank" href="http://www.amazon.de/gp/product/B01LXRWWB6?ie=UTF8&amp;linkCode=xm2&amp;camp=2025&amp;creative=6738&amp;tag=dahlenorg-21&amp;creativeASIN=B01LXRWWB6&amp;SubscriptionId=">Seagate Barracuda</a> Festplatten sind als <kbd>/dev/sda</kbd> und <kbd>/dev/sdb</kbd> eingebunden. Sie wurden aus dem inzwischen verkauften <a href="https://www.dahlen.org/2020/03/06/asrock-deskmini-a300/">ASRock Desk Mini</a> in den neuen 19&#8243;-Server übernommen.</p>



<p>Via Linux Software RAID wird ein RAID 1 <kbd>/dev/md0</kbd> über die beiden Platten realisiert. Das <a onMouseOut="al_link_out()" onMouseOver="al_gen_multi(963451597, {de : 'A-B07THL4C87'}, 'de', 'default');"  rel="nofollow" target="_blank" href="http://www.amazon.de/gp/product/B07THL4C87?ie=UTF8&amp;linkCode=xm2&amp;camp=2025&amp;creative=6738&amp;tag=dahlenorg-21&amp;creativeASIN=B07THL4C87&amp;SubscriptionId=">ASUS A320I Mainboard</a> unterstützt <em>hot-plug</em>, d.h. die Platten können im laufenden Betrieb abgezogen oder angesteckt werden.</p>



<p>Der Wechsel der Festplatten wird im laufenden Betrieb stattfinden. Ich beuge Datenverlusten durch regelmäßige, ausgelagerte und geprüfte Backups mit <a href="https://torsion.org/borgmatic/" target="_blank" rel="noreferrer noopener">Borgmatic</a> vor. </p>



<h3 class="wp-block-heading">Warnung</h3>



<p>Die im folgenden beschriebenen Schritte sind auf meine Hard- und Software-Konstellation ausgerichtet und haben dort fehlerfrei funktioniert. Dennoch kann selbst bei korrekter Ausführung das Risiko des Datenverlusts niemals ganz ausgeschlossen werden.</p>



<p><strong>Das Nachvollziehen der hier beschriebenen Schritte geschieht auf eigene Gefahr!</strong> </p>



<h2 class="wp-block-heading">Festplatte aus RAID entfernen</h2>



<p>Zunächst gilt es <strong>eine</strong> der beiden Festplatten zu entfernen (hier: <kbd>/dev/sda</kbd>). Da diese vom RAID aktuell verwendet wird, muss sie zunächst als fehlerhaft markiert werden (es sei denn, sie ist es bereits):</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --manage /dev/md0 --fail /dev/sda</code></pre>



<p>Im nächsten Schritt wird die fehlerhafte bzw. als fehlerhaft markierte Festplatte aus dem RAID entfernt:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --manage /dev/md0 --remove /dev/sda</code></pre>



<p>Um das Entfernen der Platte vorzubereiten und die Identifizierung zu erleichtern, wird als nächstes die Platte in den Sleep-Modus geschickt. Bei SSDs ist dieser Schritt natürlich nicht notwendig:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo hdparm -Y /dev/sda</code></pre>



<p>Und schließlich (aus reiner Vorsicht) melden wir die Platte noch im Kernel ab. Damit sollte das Entfernen nun sicher sein:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ echo 1 | sudo tee /sys/block/sda/device/delete</code></pre>



<p>Nun steht der physikalische Tausch der Platten an, den ich an dieser Stelle natürlich nicht im Detail beschreiben möchte. Ist die neue Platte eingebaut und wieder online, beginnt man mit der Anmeldung am RAID.</p>



<h2 class="wp-block-heading">Festplatte in RAID aufnehmen</h2>



<p>Da die neue Platte (3,5&#8243; 4TB <a onMouseOut="al_link_out()" onMouseOver="al_gen_multi(754011240, {de : 'A-B08VH8C3WZ'}, 'de', 'default');"  rel="nofollow" target="_blank" href="http://www.amazon.de/gp/product/B08VH8C3WZ?ie=UTF8&amp;linkCode=xm2&amp;camp=2025&amp;creative=6738&amp;tag=dahlenorg-21&amp;creativeASIN=B08VH8C3WZ&amp;SubscriptionId=">WD RED Plus</a>) fabrikfrisch und ohne Initialisierung daherkam, musste zunächst eine Partitionstabelle angelegt werden, auch wenn die gesamte Platte ohne dedizierte Partitionen verwendet wird:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo cfdisk -z /dev/sda</code></pre>



<p>Ist auch dies geschehen, kann die Platte &#8211; wie gesagt, als Ganzes &#8211; am RAID angemeldet werden:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --manage /dev/md0 --add /dev/sda</code></pre>



<p>Die Linux RAID-Software beginnt nun mit der Synchronisierung der 2. Platte, d.h. im Wesentlichen werden die Informationen der verbliebenen  &#8222;alten&#8220; Platte (<kbd>/dev/sdb</kbd>) auf die neue (<kbd>/dev/sda</kbd>) übertragen. </p>



<p>Das nimmt einige Zeit in Anspruch und während dieser Zeit ist das RAID recht &#8222;empfindlich&#8220;, da bis zum Abschluß der Synchronisierung logisch nur eine Platte für das RAID zur Verfügung steht. Bei höheren RAID-Leveln (5,6) sieht das natürlich anders aus und bei RAID 0 ist mit dem Ausfall einer Platte eh &#8222;Schicht im Schacht&#8220;.</p>



<p>Über den Fortschritt der Synchronisierung kann (und muß) man sich immer wieder informieren. Ein Tausch der verbliebenen, &#8222;alten&#8220; Platte <kbd>/dev/sdb</kbd> ist erst nach vollständiger Synchronisierung möglich und erfolgt dann analog zu den obigen Schritten.</p>



<p>Der Möglichkeiten zur Analyse lauten:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --detail /dev/md0</code></pre>



<p>bzw.</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ cat /proc/mdstat</code></pre>



<p>Die Ausgaben zum ersten Befehl ist umfangreich, aber eher  zusammenfassend, der relevante Wert befindet sich in &#8222;Rebuild Status&#8220;:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">/dev/md0:
           Version : 1.2
     Creation Time : Fri Apr  1 17:19:01 2022
        Raid Level : raid1
        Array Size : 1953382464 (1862.89 GiB 2000.26 GB)
     Used Dev Size : 1953382464 (1862.89 GiB 2000.26 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent
     Intent Bitmap : Internal
       Update Time : Wed Nov 30 19:10:58 2022
             State : active, degraded, recovering
    Active Devices : 1
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 1
Consistency Policy : bitmap
    Rebuild Status : 32% complete
              Name : example:0  (local to host example)
              UUID : a3738222:357f6cb8:b4014413:62be2f37
            Events : 109210
    Number   Major   Minor   RaidDevice State
       2       8       16        0      active sync   /dev/sdb
       3       8        0        1      spare rebuilding   /dev/sda</code></pre>



<p>Der zweite Befehl führt zu einer kürzeren, aber detaillierteren Anzeige. Die Ausgabe sollte der folgenden ähneln, natürlich mit unterschiedlichen (und bei mehrfachem Aufruf ansteigenden) Angaben zum Fortschritt:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[2] sda[1]
      1953382464 blocks super 1.2 [2/1] [U_]
      [&gt;....................]  recovery =  0.2% (5148736/1953382464) finish=398.8min speed=81402K/sec
      bitmap: 5/15 pages [20KB], 65536KB chunk
unused devices: &lt;none&gt;</code></pre>



<p>Nun heißt es Geduld zu haben, bis das Recovery abgeschlossen ist und der Wechsel der verbleibenen Platte nach dem gleichen Muster vollzogen werden kann.</p>



<h3 class="wp-block-heading">RAID und Filesystem vergrößern</h3>



<p>In meinem Falle wurden 2x2TB Platten gegen 2x4TB Platten getauscht. Entsprechend vergrößerte sich der für RAID1 zur Verfügung stehende Platz von 2TB auf 4TB. Dieses Mehr an Platz wird aber nicht automatisch genutzt. Fragt man den genutzten Speicher mittels <kbd>mdadm</kbd> ab, so werden nur 2TB berichtet.</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Apr  1 17:19:01 2022
        Raid Level : raid1
        Array Size : 1953382464 (1862.89 GiB 2000.26 GB)</code></pre>



<p>Der folgende Befehl dehnt das RAID nun auf den gesamten, zur Verfügung stehenden Platz aus:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --grow /dev/md0 --size max</code></pre>



<p>Ein erneuter Aufruf von <kbd>mdadm</kbd> bestätigt die neue Größe:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Apr  1 17:19:01 2022
        Raid Level : raid1
        Array Size : 3906886488 (3.64 TiB 4.00 TB)
[...]</code></pre>



<p>Nur &#8211; so wie das RAID nicht unmittelbar den gesamten, verfügbaren Platz auf den Datenträgern verwendet hat, so nutzt auch das Filesystem auf dem RAID nicht ohne weiteren Eingriff den verfügbaren Platz, wie mittels df festgestellt werden kann:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ df -h /srv
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        1.8T  271G  1.5T  16% /srv</code></pre>



<p>Aber auch das lässt sich beheben, mit dem entsprechenden Werkzeug des Filesystems. Da ich ext4 verwende, ist <kbd>resize2fs</kbd> das Mittel der Wahl:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ sudo resize2fs /dev/md0
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/md0 is mounted on /srv; on-line resizing required
old_desc_blocks = 233, new_desc_blocks = 466
The filesystem on /dev/md0 is now 976721622 (4k) blocks long.</code></pre>



<p>Nochmal das Ergebnis mit <kbd>df</kbd> prüfen und fertig:</p>



<pre class="wp-block-code"><code lang="shell" class="language-shell">$ df -h /srv
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        3.6T  271G  3.2T   8% /srv</code></pre>



<h2 class="wp-block-heading">Postskriptum</h2>



<p>Im Nachhinein hat sich herausgestellt, dass der nahende Tod der installierten 2,5&#8243; 2TB <a onMouseOut="al_link_out()" onMouseOver="al_gen_multi(1032434003, {de : 'A-B01LXRWWB6'}, 'de', 'default');"  rel="nofollow" target="_blank" href="http://www.amazon.de/gp/product/B01LXRWWB6?ie=UTF8&amp;linkCode=xm2&amp;camp=2025&amp;creative=6738&amp;tag=dahlenorg-21&amp;creativeASIN=B01LXRWWB6&amp;SubscriptionId=">Seagate Barracuda</a>-Platten ein Fehlalarm war, verursacht durch die tatsächlich endgültig zerstörte WD Green. Auf letzterer war leider das Betriebssystem installiert (non-raid). Fairerweise sei darauf hingewiesen, dass die WD Green Serie ausdrücklich nicht auf Dauerbetrieb ausgelegt ist. Grundsätzlich setze ich gerne auf Western Digitial und so wird als Ersatz in Kürze eine <a onMouseOut="al_link_out()" onMouseOver="al_gen_multi(75355075, {de : 'A-B07YFG1N7Q'}, 'de', 'default');"  rel="nofollow" target="_blank" href="http://www.amazon.de/gp/product/B07YFG1N7Q?ie=UTF8&amp;linkCode=xm2&amp;camp=2025&amp;creative=6738&amp;tag=dahlenorg-21&amp;creativeASIN=B07YFG1N7Q&amp;SubscriptionId=">WD Red SA500</a> eingebaut. </p>



<p>Nach dem Ersetzen der SSD, dem Neuaufsetzen des OS und dem Einspielen des Backups waren auch die <a href="https://de.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology" target="_blank" rel="noreferrer noopener">S.M.A.R.T.</a>-Werte der &#8222;alten&#8220; Platten wieder einwandfrei. Aber die Neuen waren halt schon geliefert, was will man machen &#8230;</p>
<p>Der Beitrag <a href="https://www.dahlen.org/2022/11/30/linux-software-raid-festplatten-tauschen/">Linux Software RAID &#8211; Festplatte(n) tauschen</a> erschien zuerst auf <a href="https://www.dahlen.org">dahlen.org</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dahlen.org/2022/11/30/linux-software-raid-festplatten-tauschen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
