Intel D510MOにCentOS6.5をインストール
その2 ~ ファイルシステム拡張編 ~
ちょっと古めの省電力ボード、Intel D510MOにCentOS6.5をインストールしてみました。
その2です。
その1はこちら。
前回は実機にソフトウェアRAIDでCentOS6.5をインストールしています。
今回はそのメンテナンスをしないといけません。
具体的にいうと今までの流れは、
- 今までは2TB×2でRAID1、FreeNAS7.x でファイルサーバ
- FreeNASの片側を取り外し、フォーマットしてNTFSとして外付けHDDに
- FreeNASから外付けHDDにデータ退避
- 外付けHDDのデータが通常通り使用できることを確認してから、FreeNASを壊す
- 2TBが1本とどっかから引っ張ってきた300GB1本で、とりあえずCentOS6.5をインストール
でした。
簡単にCentOS6.5をRAID1でインストールするために300GBをくっつけたわけですが、インストール完了したらもう不要です。
ってことで300GBHDDを取り外します。
取り外しの手順と、データ戻しまでの手順は以下の通り。
- ソフトウェアRAIDの現状を確認する
- RAIDメンバからディスクを取り出す
- アレイサイズ、LVM、ファイルシステムを拡張する
1. ソフトウェアRAIDの現状を確認する
ソフトウェアRAIDを管理するコマンドはmdadmです。
でそのmdadmが現状を記録しているのは
[root@centos ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
524224 blocks super 1.0 [2/2] [UU] md0 は sdb1 と sda1
md1 : active raid1 sdb2[1] sda2[0]
292399936 blocks super 1.1 [2/2] [UU] md1 は sdb2 と sda2
bitmap: 0/3 pages [0KB], 65536KB chunk
unused devices: <none>
です。
「RAID1」で、デバイス「md0」「md1」があり、それぞれディスク「sda」「sdb」からパーティションを切り出してRAID1になっているのがわかります。
ではディスク「sda」「sdb」の詳細を確認します。
[root@centos ~]# /sbin/fdisk -l /dev/sda sdaの詳細を出力
ディスク /dev/sda: 2000.4 GB, 2000398934016 バイト 2TBのディスクで
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト AFTなディスクのよう
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
ディスク識別子: 0x000a1843
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 66 524288 fd Linux raid 自動検出
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 66 243202 1952989184 fd Linux raid 自動検出
「パーティション 1 は、シリンダ境界で終わっていません。」は誤表示のようです。
詳細を確認するため、partedツールをインストールします。
[root@centos ~]# yum -y install parted
詳細を確認します。
[root@centos ~]# parted
GNU Parted 2.1
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) select /dev/sda
/dev/sda を使用
(parted) unit s
(parted) p
モデル: ATA WDC WD20EARX-00P (scsi)
ディスク /dev/sda: 3907029168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 2048s 1050623s 1048576s primary ext4 boot, raid
2 1050624s 3907028991s 3905978368s primary raid
パーティションの開始セクタがそれぞれ8の倍数で、たまたまですが1024でも割り切れます
ちなみにWindows7以降はこの2048セクタ(第一セクタ目)が標準のようです
セクター表示で割り切れているのでOKでしょう。
「unit b 」でバイト表示して、セクタサイズの4096で割ってみても割り切れるはず。
同じようにして「sdb」も確認しておきます。
物理ディスクに関してこの程度にしておいて、LVMとRAIDを見てみます。
[root@centos ~]# df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_1-LogVol01 279552016 826328 264525268 1% /
tmpfs 1952716 0 1952716 0% /dev/shm
/dev/md0 507684 32664 448809 7% /boot
デバイス「md0」はそのまま /boot に割り当てられてますね。512MBは多かったような。
論理ボリューム「vg_1-LogVol01」はLVMですね。LVを調べてみると、
[root@centos ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_1/LogVol01
LV Name LogVol01
VG Name vg_1
LV UUID 5ZdCIq-3lTK-AgTM-K84p-NLB2-Ac0n-cvvieS
LV Write Access read/write
LV Creation host, time centos, 2014-06-10 00:18:26 +0900
LV Status available
# open 1
LV Size 270.85 GiB
Current LE 69338
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
CentOSのインストール先です
--- Logical volume ---
LV Path /dev/vg_1/LogVol00
LV Name LogVol00
VG Name vg_1
LV UUID rGKu59-lITZ-UOg3-h1pk-gC6K-kivb-04ZCcA
LV Write Access read/write
LV Creation host, time centos, 2014-06-10 00:20:01 +0900
LV Status available
# open 1
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
こっちは8GBのスワップパーティションです
ここまでは確認です。
2. RAIDメンバからディスクを取り出す
コマンド「cat /proc/mdstat」、「fdisk -l」で見て分かるように2TBのディスクと300GBのディスクでRAIDを組んでいます。パーティション情報を間違えないようにしつつ、300GB側を取り外します。
まずは --fail コマンドでフェイル状態にします。
[root@centos ~]# mdadm --manage /dev/md1 --fail /dev/sdb2
failさせて
mdadm: set /dev/sdb2 faulty in /dev/md1
[root@centos ~]# cat /proc/mdstat
確認
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
524224 blocks super 1.0 [2/2] [UU]
md1 : active raid1 sdb2[1](F) sda2[0]
292399936 blocks super 1.1 [2/1] [U_]
bitmap: 2/3 pages [8KB], 65536KB chunk
unused devices: <none>
同様にmd0側もフェイル状態にすると、
[root@centos ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1](F) sda1[0]
524224 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sdb2[1](F) sda2[0]
292399936 blocks super 1.1 [2/1] [U_]
bitmap: 2/3 pages [8KB], 65536KB chunk
unused devices: <none>
sdb側がフェイル状態ですね。
これでRAIDメンバから取り外せます。取り外しは「remove」です。
[root@centos ~]# mdadm --manage /dev/md1 --remove /dev/sdb2
removeさせて
mdadm: hot removed /dev/sdb2 from /dev/md1
[root@centos ~]# mdadm --manage /dev/md0 --remove /dev/sdb1
もう一方もremove
mdadm: hot removed /dev/sdb1 from /dev/md0
[root@centos ~]# cat /proc/mdstat
確認
Personalities : [raid1]
md0 : active raid1 sda1[0]
524224 blocks super 1.0 [2/1] [U_] ←sdbの表示がない
md1 : active raid1 sda2[0]
292399936 blocks super 1.1 [2/1] [U_] ←sdbの表示がない
bitmap: 2/3 pages [8KB], 65536KB chunk
unused devices: <none>
OK。
これでRAIDメンバに300GBHDDはいなくなりました。
3. アレイサイズ、LVM、ファイルシステムを拡張する
いよいよ緊張の時です。アレイサイズを拡張します。
拡張コマンドは「mdadm -grow」です。拡張前、拡張実施、拡張後のコマンドは以下。
[root@centos ~]# mdadm -D /dev/md0 | grep -e "Array Size" -e "Device Size"
Array Size : 524224 (512.02 MiB 536.81 MB)
いじらない側の md0 は512MBですね
[root@centos ~]# mdadm -D /dev/md1 | grep -e "Array Size" -e "Device Size"
Array Size : 292399936 (278.85 GiB 299.42 GB)
拡張したい側のサイズは300GBのHDDに引っ張られて299GBです
[root@centos ~]# mdadm --grow /dev/md1 -z max
mdadm: component size of /dev/md1 has been set to 1952858112K
今、300GBのHDDはいませんので -z max を指定すると2TB近くまで拡張できました
[root@centos ~]# mdadm -D /dev/md1 | grep -e "Array Size" -e "Device Size"
Array Size : 1952858112 (1862.39 GiB 1999.73 GB)
OK。
[root@centos ~]# mdadm --detail /dev/md1
/dev/md1:
Version : 1.1
Creation Time : Tue Jun 10 00:18:19 2014
Raid Level : raid1
Array Size : 1952858112 (1862.39 GiB 1999.73 GB) ←うひょー
Used Dev Size : 1952858112 (1862.39 GiB 1999.73 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Jun 17 01:27:23 2014
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Name : centos:1 (local to host centos)
UUID : d864a2c9:f9f0c30b:28527d49:906cf890
Events : 3083
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 0 0 1 removed
うひょー。
OK。次はPVを拡張します。
[root@centos ~]# pvscan
PV /dev/md1 VG vg_1 lvm2 [278.85 GiB / 0 free]
Total: 1 [278.85 GiB] / in use: 1 [278.85 GiB] / in no VG: 0 [0 ]
PV はまだ "0 FREE" です
[root@centos ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 vg_1 lvm2 a-- 278.85g 0
ここも一緒
[root@centos ~]# pvresize /dev/md1
Physical volume "/dev/md1" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
PVを拡張!
[root@centos ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 vg_1 lvm2 a-- 1.82t 1.55t
[root@centos ~]# pvscan
PV /dev/md1 VG vg_1 lvm2 [1.82 TiB / 1.55 TiB free]
Total: 1 [1.82 TiB] / in use: 1 [1.82 TiB] / in no VG: 0 [0 ]
うひょー(2回目)。
OK。
[root@centos ~]# vgdisplay
--- Volume group ---
VG Name vg_1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476771
Alloc PE / Size 71386 / 278.85 GiB
Free PE / Size 405385 / 1.55 TiB) ←ここが 0 じゃなければOK
VG UUID ejdwiB-pmxh-ejbq-Dv6s-Wk6c-y7UT-EYhKGj
[root@centos ~]# pvscan
PV /dev/md1 VG vg_1 lvm2 [278.85 GiB / 0 free]
Total: 1 [278.85 GiB] / in use: 1 [278.85 GiB] / in no VG: 0 [0 ]
PV はまだ "0 FREE" です
[root@centos ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 vg_1 lvm2 a-- 278.85g 0
ここも一緒
[root@centos ~]# pvresize /dev/md1
Physical volume "/dev/md1" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
PVを拡張!
[root@centos ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 vg_1 lvm2 a-- 1.82t 1.55t
[root@centos ~]# pvscan
PV /dev/md1 VG vg_1 lvm2 [1.82 TiB / 1.55 TiB free]
Total: 1 [1.82 TiB] / in use: 1 [1.82 TiB] / in no VG: 0 [0 ]
うひょー
うひょー(2回目)。
OK。
[root@centos ~]# vgdisplay
--- Volume group ---
VG Name vg_1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476771
Alloc PE / Size 71386 / 278.85 GiB
Free PE / Size 405385 / 1.55 TiB) ←ここが 0 じゃなければOK
VG UUID ejdwiB-pmxh-ejbq-Dv6s-Wk6c-y7UT-EYhKGj
OKOK。物理ボリュームが拡張されましたので(Free PEが0ではなくなった)ので次は論理ボリュームの操作です。
もし新たにディスクを用意し、物理ボリュームを作成(PVCREATEコマンド)した場合はこのボリュームグループにFree PEができるようにVGEXTENDします。
今は元々あったディスク(物理ボリューム)を拡張したので(# pvresize /dev/md1)、VGEXTENDは不要ですね。
で論理ボリューム拡張はLVEXTENDです。まんまやな。
[root@centos ~]# lvdisplay
拡張前の確認
--- Logical volume ---
LV Path /dev/vg_1/LogVol01
LV Name LogVol01
VG Name vg_1
LV UUID 5ZdCIq-3lTK-AgTM-K84p-NLB2-Ac0n-cvvieS
LV Write Access read/write
LV Creation host, time FileServer-2014, 2014-06-10 00:18:26 +0900
LV Status available
# open 1
LV Size 270.85 GiB ←今は270GB
Current LE 69338
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@centos ~]# lvextend -l +100%FREE /dev/vg_1/LogVol01
Extending logical volume LogVol01 to 1.81 TiB
Logical volume LogVol01 successfully resized
[root@centos ~]# lvdisplay
拡張後の確認
--- Logical volume ---
LV Path /dev/vg_1/LogVol01
LV Name LogVol01
VG Name vg_1
LV UUID 5ZdCIq-3lTK-AgTM-K84p-NLB2-Ac0n-cvvieS
LV Write Access read/write
LV Creation host, time FileServer-2014, 2014-06-10 00:18:26 +0900
LV Status available
# open 1
LV Size 1.81 TiB ←うひょー
Current LE 474723
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
もし新たにディスクを用意し、物理ボリュームを作成(PVCREATEコマンド)した場合はこのボリュームグループにFree PEができるようにVGEXTENDします。
今は元々あったディスク(物理ボリューム)を拡張したので(# pvresize /dev/md1)、VGEXTENDは不要ですね。
で論理ボリューム拡張はLVEXTENDです。まんまやな。
[root@centos ~]# lvdisplay
拡張前の確認
--- Logical volume ---
LV Path /dev/vg_1/LogVol01
LV Name LogVol01
VG Name vg_1
LV UUID 5ZdCIq-3lTK-AgTM-K84p-NLB2-Ac0n-cvvieS
LV Write Access read/write
LV Creation host, time FileServer-2014, 2014-06-10 00:18:26 +0900
LV Status available
# open 1
LV Size 270.85 GiB ←今は270GB
Current LE 69338
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@centos ~]# lvextend -l +100%FREE /dev/vg_1/LogVol01
Extending logical volume LogVol01 to 1.81 TiB
Logical volume LogVol01 successfully resized
いざ拡張!!
[root@centos ~]# lvdisplay
拡張後の確認
--- Logical volume ---
LV Path /dev/vg_1/LogVol01
LV Name LogVol01
VG Name vg_1
LV UUID 5ZdCIq-3lTK-AgTM-K84p-NLB2-Ac0n-cvvieS
LV Write Access read/write
LV Creation host, time FileServer-2014, 2014-06-10 00:18:26 +0900
LV Status available
# open 1
LV Size 1.81 TiB ←うひょー
Current LE 474723
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
うひょー(3回目)。
OK。OKOK。最後はファイルシステムを拡張します。
拡張コマンドは resize2fs です。
ただ今回は300GB弱を一気に2TB近くまで拡張しますので時間がかかります。
今までのコマンドはほとんど一瞬で完了しましたが、これはそうもいきません。
なので resize2fs コマンドをバックグラウンドで、なおかつコンソール(SSH)が切断されても実行し続けるように工夫します。
具体的には nohup と & を使用します。
nohup はログアウト等のSIGHUPシグナルを無視する、 & はバックグラウンドジョブ実行指定です。
[root@centos ~]# df -Th
拡張前の確認
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_1-LogVol01 ext4 267G 808M 253G 1% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/md0 ext4 496M 32M 439M 7% /boot
[root@centos ~]# nohup resize2fs /dev/mapper/vg_1-LogVol01 &
[root@centos ~]# cat /root/nohup.out
old desc_blocks = 40, new_desc_blocks = 116
Performing an on-line resize of /dev/mapper/vg_1-LogVol01 to 486116352 (4k) blocks.
The filesystem on /dev/mapper/vg_1-LogVol01 is now 486116352 blocks long.
[root@centos ~]# df -Th
拡張後の確認
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_1-LogVol01 ext4 1.8T 817M 1.7T 1% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/md0 ext4 496M 32M 439M 7% /boot
うひょー(4回目)。
OK。OKOK。最後はファイルシステムを拡張します。
拡張コマンドは resize2fs です。
ただ今回は300GB弱を一気に2TB近くまで拡張しますので時間がかかります。
今までのコマンドはほとんど一瞬で完了しましたが、これはそうもいきません。
なので resize2fs コマンドをバックグラウンドで、なおかつコンソール(SSH)が切断されても実行し続けるように工夫します。
具体的には nohup と & を使用します。
nohup はログアウト等のSIGHUPシグナルを無視する、 & はバックグラウンドジョブ実行指定です。
[root@centos ~]# df -Th
拡張前の確認
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_1-LogVol01 ext4 267G 808M 253G 1% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/md0 ext4 496M 32M 439M 7% /boot
いざ拡張!!
この後は3時間くらい?かかるのでexitして、そのまま寝ました。。。
何が起きてたか確認します
このファイルに本来コンソールにリダイレクトされていたはずのメッセージが書き込まれています
Filesystem at /dev/mapper/vg_1-LogVol01 is mounted on /; on-line resizing requiredold desc_blocks = 40, new_desc_blocks = 116
Performing an on-line resize of /dev/mapper/vg_1-LogVol01 to 486116352 (4k) blocks.
The filesystem on /dev/mapper/vg_1-LogVol01 is now 486116352 blocks long.
お、行けてそうです!
[root@centos ~]# df -Th
拡張後の確認
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_1-LogVol01 ext4 1.8T 817M 1.7T 1% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/md0 ext4 496M 32M 439M 7% /boot
うひょー
うひょー(4回目)。
とまぁ、ここまででインストール作業のハード面は終了です。
新品HDDが余っている人は新品HDDをつなぎこんでアレイリビルドすれば終了。
今は余っている2TBのディスクはありませんのでこのまま片肺運転させます。
次回は
- Sambaをインストール
- NTFSな外付けHDDのデータをコピー
- データ確認が終了次第、このNASのアレイリビルドに使用
です。
0 件のコメント:
コメントを投稿