Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Raid1を構成する(AREA SD-PESA3-2RL/Marvell9128 on Ubuntu 20.04 LTS)


LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。

Ubuntu 20.04 LTSが稼働するPCに搭載したRAIDボードを用いたRAID1の構築に関するメモです。

AREA SD-PESA3-2RL/Marvell9128という、ちょっと古めのRAIDボード(RAID0/1対応)を使ってます。 f:id:opensourcetech:20200707102628j:plain
物理的には、SATA用の電源を4ピンから取得し、250GBのHDD×2をRAIDボードとSATA3ケーブルで接続してRAID1を構築します。
f:id:opensourcetech:20200707075218j:plain f:id:opensourcetech:20200707102724j:plain f:id:opensourcetech:20200707103050j:plain
まず、RAIDを設定するメニューをBIOS起動に割り込んで立ち上げます。
以下の画面になった際に、ctrl+mを押します。
f:id:opensourcetech:20200707113212j:plain
起動したMervell BIOSで、「Marvell 0」とあるのがRAIDコントローラ(ボード)でENTERを押し、
Configuration Wizardと進みます。 f:id:opensourcetech:20200707105903j:plain f:id:opensourcetech:20200707105928j:plain

続いて、それぞれのHDDを選択した状態で、Spaceを押しRAID対象とします。
f:id:opensourcetech:20200707105941j:plain f:id:opensourcetech:20200707113258j:plain f:id:opensourcetech:20200707113333j:plain

そして、RAIDの種類を選択し、構成を確定します。
f:id:opensourcetech:20200707113347j:plainf:id:opensourcetech:20200707113403j:plain f:id:opensourcetech:20200707113449j:plainf:id:opensourcetech:20200707113458j:plain

設定が完了したら、Marvell BIOSを終了するため、構成を保存します。
f:id:opensourcetech:20200707113524j:plainf:id:opensourcetech:20200707113541j:plain f:id:opensourcetech:20200707113550j:plainf:id:opensourcetech:20200707113613j:plain

設定完了後PCが起動されると、起動中に構成されたRAID情報が短い時間ですが、表示されます。
f:id:opensourcetech:20200707122503j:plain

ここまででRAIDボードの操作は完了。
あとは、Ubuntuで通常のストレージと同じように、
パーティション/ファイルシステムを作成して、マウントしてやればOKです。


ディスク情報の確認。

sudo fdisk -l
[sudo] ubuntu のパスワード:
.
.
.
ディスク /dev/sdc: 232.83 GiB, 249975406592 バイト, 488233216 セクタ
Disk model: MARVELL Raid VD 
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト



パーティションの作成。

ubuntu@ubuntu-desktop:~$ sudo fdisk /dev/sdc

fdisk (util-linux 2.34) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

デバイスには認識可能なパーティション情報が含まれていません。
新しい DOS ディスクラベルを作成しました。識別子は 0xcf5bfa05 です。

コマンド (m でヘルプ): p
ディスク /dev/sdc: 232.83 GiB, 249975406592 バイト, 488233216 セクタ
Disk model: MARVELL Raid VD 
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xcf5bfa05

コマンド (m でヘルプ): m

ヘルプ:

  DOS (MBR)
   a   起動可能フラグを切り替えます
   b   入れ子の BSD ディスクラベルを編集します
   c   DOS 互換フラグを切り替えます

  一般
   d   パーティションを削除します
   F   パーティションのない領域を一覧表示します
   l   既知のパーティションタイプを一覧表示します
   n   新しいパーティションを追加します
   p   パーティション情報を表示します
   t   パーティションタイプを変更します
   v   パーティション情報を検証します
   i   パーティションの情報を表示します

  その他
   m   このメニューを表示します
   u   表示項目の単位を変更します
   x   特殊機能に移動します (熟練者向け機能)

  スクリプト
   I   ディスクのレイアウトを sfdisk 互換のスクリプトから読み込みます
   O   ディスクのレイアウトを sfdisk 互換のスクリプトに書き出します

  保存と終了
   w   パーティション情報をディスクに書き込んで終了します
   q   変更点を保存せずに終了します

  新しいラベルを作成します
   g   新しい (何もない) GPT パーティションテーブルを作成します
   G   新しい (何もない) SGI (IRIX) パーティションテーブルを作成します
   o   新しい (何もない) DOS パーティションテーブルを作成します
   s   新しい (何もない) Sun パーティションテーブルを作成します


コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (0 プライマリ, 0 拡張, 4 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): 

既定の回答 p であるものとみなします。
パーティション番号 (1-4, 既定値 1): 
最初のセクタ (2048-488233215, 既定値 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-488233215, 既定値 488233215): 

新しいパーティション 1 をタイプ Linux、サイズ 232.8 GiB で作成しました。

コマンド (m でヘルプ): p
ディスク /dev/sdc: 232.83 GiB, 249975406592 バイト, 488233216 セクタ
Disk model: MARVELL Raid VD 
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xcf5bfa05

デバイス   起動 開始位置  最後から    セクタ サイズ Id タイプ
/dev/sdc1           2048 488233215 488231168 232.8G 83 Linux

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

ubuntu@ubuntu-desktop:~$ sudo fdisk -l /dev/sdc
ディスク /dev/sdc: 232.83 GiB, 249975406592 バイト, 488233216 セクタ
Disk model: MARVELL Raid VD 
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xcf5bfa05

デバイス   起動 開始位置  最後から    セクタ サイズ Id タイプ
/dev/sdc1           2048 488233215 488231168 232.8G 83 Linux

ubuntu@ubuntu-desktop:~$ sudo parted -l
.
.
.
モデル: ATA MARVELL Raid VD (scsi)
ディスク /dev/sdc: 250GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ: 

番号  開始    終了   サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  250GB  250GB   primary



ファイルシステムの作成。ext4にしました。

ubuntu@ubuntu-desktop:~$ sudo mkfs -t ext4 /dev/sdc1
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 61028896 4k blocks and 15261696 inodes
Filesystem UUID: 7de4f67b-a79b-44f5-ad2b-4dd177e412ab
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): 
done
Writing superblocks and filesystem accounting information: done



マウントポイントの作成。

ubuntu@ubuntu-desktop:~$ sudo mkdir /raid1



マウント。
起動時にマウントできるように、/etc/fstabも編集しておきます。

ubuntu@ubuntu-desktop:~$ sudo mount -t ext4 /dev/sdc1 /raid1
ubuntu@ubuntu-desktop:~$ mount
.
.
.
/dev/sdc1 on /raid1 type ext4 (rw,relatime)
ubuntu@ubuntu-desktop:~$ sudo vi /etc/fstab 
ubuntu@ubuntu-desktop:~$ cat /etc/fstab 
.
.
.
/dev/sdc1   /raid1      ext4    defaults    0   1
# /boot/efi was on /dev/sda1 during installation
.
.
.



続いて、Ubuntu上から使いやすくするための細工。
ファイルマネージャから操作しやすいように、作成したパーティションをユーザのホームディレクトリとリンクします。

ubuntu@ubuntu-desktop:~$ ln -s /raid1/ /home/ubuntu/レイドアレイ
ubuntu@ubuntu-desktop:~$ ls
snap          テンプレート  ドキュメント  ピクチャ      レイドアレイ
ダウンロード  デスクトップ  ビデオ        ミュージック  公開
ubuntu@ubuntu-desktop:~$ sudo chmod 777 /raid1/



これでRAID1の構築完了です。

Opensourcetech by Takahiro Kujirai