RaspberryPiでファイルサーバ構築#5

※旧サイトから移植したページです

RaspberryPiでファイルサーバ構築#5 2020.11.17

今日は、RAIDの設定をしていきます。
前回までに、デスクトップ環境を設定しておきましたが、今回はほとんどコンソールで設定していきます。

まずは、ソフトウェアRAIDの構築をしていきます。
以下のコマンドを実行していきます。

$ sudo apt-get upgrade update
$ sudo apt-get install mdadm

mdadmというソフトウェアを使ってRAIDを組んでいきます。
次に接続している2つのHDDのディレクトリを確かめるために以下のコマンドを実行します。

$ sudo fdisk -l
ディスク /dev/sdb: 7.28 TiB, 8001563222016 バイト, 15628053168 セクタ
Disk model: USB3.0
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: E3FB27DF-DC26-4B27-A0BA-BD447B3CF259

ディスク /dev/sda: 7.28 TiB, 8001563222016 バイト, 15628053168 セクタ
Disk model: USB3.0
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: D945C94B-42A9-43A7-AB3E-E9B5B24F0C83

今回使用するSATA USB3.0変換アダプタとHDDの場合には、上記のように表示されます。
「/dev/sda」と「/dev/sdb」に接続されていることがわかります。
使用する2つのHDDをフォーマットしていきます。

$ sudo parted /dev/sda
(parted) unit GB
(parted) mklabel gpt
(parted) mkpart primary xfs 0% 100%
(parted) set 1 raid on
(parted) p
...
(parted) quit

$ sudo parted /dev/sdb
(parted) unit GB
(parted) mklabel gpt
(parted) mkpart primary xfs 0% 100%
(parted) set 1 raid on
(parted) p
...
(parted) quit

上記のように進めたら、以下のコマンドをして、「dev/sda1」「dev/sdb1」ができていることを確認します。

$ ls /dev/sd*

確認出来たら、mdadmでRAIDを組んでいきます。
今回はRAID1で組んでいきます。

$ sudo mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sda1 /dev/sdb1

「Continue creating array?」と尋ねられたら「y」と入力してください。
次に以下のコマンドを実行して、RAID1が組めているかを確認します。

$ sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Nov 10 17:49:32 2020
        Raid Level : raid1
        Array Size : 7813893120 (7451.91 GiB 8001.43 GB)
     Used Dev Size : 7813893120 (7451.91 GiB 8001.43 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent
       
     Intent Bitmap : Internal
     
       Update Time : Tue Nov 17 13:01:58 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0
     
Consistency Policy : bitmap

              Name : ubuntu:0
              UUID : 8372124a:aff96ea5:865cc653:168af33d
            Events : 115631
            
    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

2つとも「active sync」なので、正常にRAIDを組めていることになります。
次に、同期を完全に取れるまで待機します。
同期の確認には、以下のコマンドで確認します。

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
      83817472 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.1% (2777984/7813893120) finish=900.9min speed=75368K/sec
      
unused devices: none

「finish=○○○min」と書かれているのが、同期に要する時間です。
さすがに、8TBのRAIDとなると同期に時間がかかりますね。
RAIDのファイルシステムえおフォーマットします。
今回は、「EXT4」でフォーマットします。

$ sudo mke2fs -t ext4 /dev/md0

次に、RAID情報を「/etc/mdadm.conf」に出力します。

$ cat /etc/mdadm.conf
$ sudo su
# sudo mdadm --detail --scan > /etc/mdadm.conf
$ exit

再起動後に自動的にマウントするためにマウントポイントの作成をします。

$ sudo mkdir /raid

フォルダを作成したら、「vim」でも「nano」でもどのようなエディタでも構いませんが、
「/etc/fstab」をsudo権限で編集して、以下のように追記します。

$ sudo nano /etc/fstab
...
/dev/md0  /raid  ext4 default 1 1>
...

編集したら、再起動して、マウントを確認します。

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           782M   14M  768M   2% /run
/dev/mmcblk0p2   29G  6.6G   22G  24% /
tmpfs           3.9G  4.0K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop1       49M   49M     0 100% /snap/core18/1936
/dev/loop0       49M   49M     0 100% /snap/core18/1883
/dev/loop2       64M   64M     0 100% /snap/lxd/16103
/dev/loop3       26M   26M     0 100% /snap/snapd/8543
/dev/loop4       27M   27M     0 100% /snap/snapd/9730
/dev/loop5       60M   60M     0 100% /snap/lxd/18152
/dev/mmcblk0p1  253M  105M  148M  42% /boot/firmware
/dev/md0        7.3T  2.9T  4.0T  42% /raid
tmpfs           782M   24K  782M   1% /run/user/128
tmpfs           782M   20K  782M   1% /run/user/1000

これで、正常にマウントできていることがわかります(下から3行目)。
今日はこの程度で終了にしたいと思います。


関連記事

 RaspberryPiでファイルサーバ構築#1
 RaspberryPiでファイルサーバ構築#2
 RaspberryPiでファイルサーバ構築#3
 RaspberryPiでファイルサーバ構築#4
 RaspberryPiでファイルサーバ構築#5
 RaspberryPiでファイルサーバ構築#6

LEAVE A COMMENT