移転前のサイトからの転記です。日付は当時のものを使用しています。文言などは若干修正を入れています(7年前なので表現が若くて恥ずかしい)。
前回の記事まででハードウェアの組み立てが完了したのでいよいよOSを導入します。
目次
CentOSの入手
USBメモリから起動するインストールメディアを作成します。
まずCentOS DVDのISOイメージをDLしておきます。USBメモリをFAT32でフォーマットし、USBメモリにLinux ISOイメージを書き込むアプリケーション UNetbootin を使用して書き込みました。メディア作成は30分程度で完了でした。
OSインストールエラーと対応
インストール時のRAIDはOSも冗長化出来るのが強みのようですが、OSは冗長化せずに実施します。
パーティション分割とスワップ (swap) 領域
OSインストールを実施する前に、記憶領域に対してパーティション分割を実施します。ここでブート領域、ルート領域、スワップ領域それぞれに対する割り当て容量を指定します。ここでスワップ領域 (仮想記憶) について補足すると、物理メモリ (DDR, 主記憶) の内容を一時的に退避させる領域です。システムはプロセスをまず主記憶に読みに行き、そこに存在しなければ仮想記憶から物理メモリに書き戻すといった動作をしています。こうすることで主記憶以上のメモリ容量が確保でき、物理メモリを使い切ってしまってシステムが不安定に陥るなどのリスクを防ぐことができます。win環境では意識的に扱いませんが、Linux環境ではスワップ領域を明示的に割り当てることができます (OSインストール後であってもコマンドで実施可能なようです) 。
エラー (bootloader install failed……) の発生
OSインストールを進めていたところ「bootloader install failed……」というエラーが発生しました。Winで使用していたHDDを流用していますが、ファイルシステムが消しきれていないことが原因でエラーが出たと推測します。OSはまっさらな工場出荷状態のストレージを別途購入し、そこにインストールすることにしました。
ストレージ用HDD5台に加えてケース内に配置することになるためコンパクトなものを所望します。はじめはSSDが妥当かと考えましたが、CentOSのOS部に必要な容量は16GBで十分なことが分かりUSBメモリを用意しました。USBメモリを別途購入してフォーマット後、再実施です。CentOSをUSBメモリにインストールも参考にさせていただきました。
USBメモリインストール:1回目 (失敗)
USBメモリ追加後の構成です。
初期状態です。
ブート設定です。
ルート設定です。
スワップ設定です。
完了後、以下のエラーが発生しました。自動設定で割り当てられたEFIなるものを作成して再度トライしてみます。
USBメモリインストール:2回目 (成功)
EFI設定です。
ブート設定です。
ルート設定です。
スワップ設定です。
やっと通しました。その他、ネットワーク設定などを実施してインストール開始となりました。数千個のパッケージをインストールするため、大体5時間くらい掛かってやっと完了しました。少し感動です。
再起動後にログイン画面が現れましたた。これが見たかったです。
ログイン後に簡単な設定を行って一先ずCentOS7の導入は完了です。
RAIDディスクの確認
RAIDが組めているか確認します。コマンド確認は置いておいて、一先ず目についたディスク管理を開いてみました。
ディスク1
ディスク2
ディスク3
ディスク4
ディスク5-1
ディスク5-2
RAIDアレイ
コンピュータフォルダ設定画面から確認しても、以下の通り使用可能領域が9TBになっていました。
RAID構築用コマンドmdadm
でも確認します。以下の通り9TBになっています。
# mdadm --detail /dev/md/root
/dev/md/root:
Version : 1.2
Creation Time : Sun Dec 31 22:50:18 2017
Raid Level : raid5
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Used Dev Size : 2930134016 (2794.39 GiB 3000.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Fri Jan 5 19:17:09 2018
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : #ブログアップ時削除
UUID : #ブログアップ時削除
Events : #ブログアップ時削除
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
4 8 49 3 active sync /dev/sdd1
ホットスペアディスクの追加
RAID5にはホットスペアディスクを追加することができます。これはいずれかのHDDが故障した際に一時的にRAID構成を再構築するもので、突然の破損に備えることができます。スペアディスクはOSのインストール時に追加できないため、CentOS上からコマンドで実行します。
はじめに用意していたスペアディスクを繋いで再起動したところ、特にマウントなどすることなくGUI上でディスクを確認することができました。ただし本HDDは購入後にWindows環境で初期不良のチェックをしていたため、Microsoft予約済みなるパーティションが作成されていました。RAIDに組み込む前にこのデバイスファイル/dev/sde1を削除します。
削除する領域を上の図のように選択し、 “-” を押してパーティションを削除しました。当然ですが/dev/sde2も消えて無くなり/dev/sdeとなりました。これで下準備は完了です。
パーティショニング
パーティションの作成や削除などに使うコマンドgdisk
を使用します。パーティーションの開始セクタと終了セクタの選択では何も入力せずにENTERすることで最大サイズになります。パーティーションのタイプはLinux RAIDにして入力はfd00を選択しました。
# gdisk /dev/sde
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sde: 5860533168 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): #ブログアップ時削除
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 5860533101 sectors (2.7 TiB)
Number Start (sector) End (sector) Size Code Name
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-5860533134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-5860533134, default = 5860533134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot
a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS
a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot
a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS
a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap
a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated
a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot
af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline
af03 Apple label af04 AppleTV recovery af05 Apple Core Storage
be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z
bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var
bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1
bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4
bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service
ed00 Sony system partitio ef00 EFI System ef01 MBR partition scheme
ef02 BIOS boot partition fb00 VMWare VMFS fb01 VMWare reserved
fc00 VMWare kcore crash p fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 8300): fd00
Changed type of partition to 'Linux RAID'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sde.
The operation has completed successfully.
GUIでも確認します。
フォーマット
ファイルシステムを作成 (フォーマット) するコマンドmkfs
を使用します。ファイルシステムはxfsにしました。Linuxでよく使われるxfsとextですが、xfsはextより大規模データの扱いに適していると言われます。またxfsはNASでもよく使われているということでした。
# mkfs.xfs /dev/sde1
meta-data=/dev/sde1 isize=512 agcount=4, agsize=183141597 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=732566385, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=357698, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
GUIでも確認します。
スペアディスク追加前の状態確認
mdadm
コマンドで確認します。
# mdadm --detail /dev/md/root
/dev/md/root:
Version : 1.2
Creation Time : Sun Dec 31 22:50:18 2017
Raid Level : raid5
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Used Dev Size : 2930134016 (2794.39 GiB 3000.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun Jan 7 17:32:01 2018
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : #ブログアップ時削除
UUID : #ブログアップ時削除
Events : #ブログアップ時削除
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
4 8 49 3 active sync /dev/sdd1
スペアディスクの追加
mdadm
コマンドのaddオプションで/dev/sde1を指定すれば良いらしいです。
# mdadm --manage /dev/md/root --add /dev/sde1
mdadm: added /dev/sde1
スペアディスク追加後の状態確認
mdadm
コマンドで確認します。Spare Devicesが “1” になり、/dev/sde1がNumber:5 state:spareとして追加されていました。
# mdadm --detail /dev/md/root
/dev/md/root:
Version : 1.2
Creation Time : Sun Dec 31 22:50:18 2017
Raid Level : raid5
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Used Dev Size : 2930134016 (2794.39 GiB 3000.46 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun Jan 7 17:33:56 2018
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : #ブログアップ時削除
UUID : #ブログアップ時削除
Events : #ブログアップ時削除
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
4 8 49 3 active sync /dev/sdd1
5 8 65 - spare /dev/sde1
GUIでも確認したところ、/dev/sde1の “内容” がLinux RAIDメンバーとなっていました。スペアディスクの追加完了です。
以上。