# Software Raid

#### **Create raid:**

<p class="callout info">Raid levels can be changed with: --level=1 // --level=0 // --level=5</p>

**Raid 1**

```
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdX /dev/sdX
```

<span class="highlight">Raid 5</span>

```
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdX /dev/sdX /dev/sdX
```

**Raid 6**

```
mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdX /dev/sdX /dev/sdX
```

**Raid 10**

```
mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sdX /dev/sdX /dev/sdX /dev/sdX
```

#### **Stop raid:**

```
mdadm --stop /dev/md0
```

#### **Assemble raid:**

```
mdadm -A /dev/mdX /dev/sdaX --run
```

##### **Adding a drive in a failed raid:**

```command
mdadm --manage /dev/md0 --add /dev/sdb1
```

##### **Resize drives after a HDD swap to something larger**

```shell
screen
resize2fs `mount | grep "on / " | cut -d " " -f 1` && exit
```

<p class="callout info">Then check with "watch df -h" and watch it go up</p>

#### **Cloning a partition table** 

##### MBR:

<p class="callout info">X = Source (old drive), Y = Destination (new drive)</p>

```
sfdisk -d /dev/sdX | sfdisk /dev/sdY --force
```

##### GPT:

<p class="callout info">Install gdisk </p>

<p class="callout danger"><span class="s1">The first command copies the partition table of </span><span class="s2">sdX</span><span class="s1"> to </span><span class="s2">sdY</span></p>

```
sgdisk -R /dev/sdY /dev/sdX
sgdisk -G /dev/sdY
```