こんにちは、みんな。 新しいコースグループの開始前夜に
この記事では、アレイとファイル システムのさらなる拡張に伴い、ディスクを交換する場合と、より大容量の新しいディスクに情報を転送する場合の 2 つのケースを検討します。 最初のケースは、同じ MBR/MBR または GPT/GPT パーティショニングを持つディスクの交換に関するもので、2 番目のケースは、MBR パーティショニングを持つディスクを、インストールする必要がある 4 TB を超える容量のディスクに置き換えることに関するものです。 GPT パーティションと biosboot パーティション。 どちらの場合も、データの転送先のディスクはサーバーにすでにインストールされています。 ルート パーティションに使用されるファイル システムは extXNUMX です。
ケース 1: 小型ディスクを大型ディスク (最大 2TB) に置き換える
タスク: 現在のディスクを、情報転送を備えたより大きなディスク (最大 2 TB) に置き換えます。 この場合、システムがインストールされている 2 GB SSD (RAID-240) ディスクが 1 つと、システムを転送する必要がある 2 TB SATA ディスクが 1 つあります。
現在のディスクレイアウトを見てみましょう。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
現在使用されているファイルシステムの容量を確認してみましょう。
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,6M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
ディスクを交換する前のファイル システムのサイズは 204 GB、2 つの md126 ソフトウェア アレイが使用され、 /boot
и md127
として使用されます 物理ボリューム VGグループ向け vg0.
1. アレイからのディスク パーティションの削除
アレイの状態を確認する
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
システムは 2 つのアレイを使用します。 md126
(マウントポイント /boot
) - セクションで構成されます /dev/sda1
и /dev/sdb1
, md127
(LVM の swap ファイル システムのルート) - で構成されます。 /dev/sda2
и /dev/sdb2
.
各アレイで使用される最初のディスクのパーティションを不良としてマークします。
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
/dev/sda ブロック デバイス パーティションをアレイから削除します。
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
アレイからディスクを削除すると、ブロック デバイス情報は次のようになります。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
ディスクを取り外した後のアレイの状態。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
2. パーティション テーブルを新しいディスクにコピーします。
次のコマンドを使用して、ディスク上の使用されているパーティション テーブルを確認できます。
fdisk -l /dev/sdb | grep 'Disk label type'
MBR の出力は次のようになります。
Disk label type: dos
GPTの場合:
Disk label type: gpt
MBR のパーティション テーブルをコピーします。
sfdisk -d /dev/sdb | sfdisk /dev/sdc
このコマンドでは первым ディスクが表示されます с そのうち マークアップがコピーされ、 XNUMX番目 - どこで コピー。
注意:GPT用 первым ディスクが表示されます その上に マークアップをコピーし、 第二 ディスクはディスクを示します そこから マークアップをコピーします。 ディスクを混同すると、最初は正常だったパーティションが上書きされ、破壊されます。
GPT のレイアウト テーブルをコピーする:
sgdisk -R /dev/sdс /dev/sdb
次に、ランダムな UUID をディスクに割り当てます (GPT 用)。
sgdisk -G /dev/sdc
コマンドを実行すると、ディスク上にパーティションが表示されます。 /dev/sdc
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
└─sdc2 8:34 0 222,5G 0 part
sdd 8:48 0 931,5G 0 disk
アクションの実行後、ディスク上のシステム内のパーティションが /dev/sdc
決定していない場合は、コマンドを実行してパーティション テーブルを再読み込みします。
sfdisk -R /dev/sdc
現在のディスクが MBR テーブルを使用しており、情報を 2 TB を超えるディスクに転送する必要がある場合は、新しいディスク上に biosboot パーティションを使用して GPT パーティションを手動で作成する必要があります。 このケースについては、この記事のパート 2 で説明します。
3. 新しいディスクのパーティションをアレイに追加する
対応するアレイにディスク パーティションを追加しましょう。
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
セクションが追加されたことを確認します。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
この後、アレイが同期するまで待ちます。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[==>..................] recovery = 10.6% (24859136/233206784) finish=29.3min speed=118119K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
ユーティリティを使用して同期プロセスを継続的に監視できます。 watch
.
watch -n 2 cat /proc/mdstat
パラメーター -n
進行状況を確認するためにコマンドを実行する必要がある間隔を秒単位で指定します。
次の交換ディスクに対して手順 1 ~ 3 を繰り返します。
各アレイで使用される XNUMX 番目のディスクのパーティションを不良としてマークします。
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
ブロックデバイスパーティションの削除 /dev/sdb
配列から。
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
アレイからディスクを削除すると、ブロック デバイス情報は次のようになります。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
ディスクを取り外した後のアレイの状態。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2]
1047552 blocks super 1.2 [2/1] [U_]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
ディスクからの MBR パーティション テーブルのコピー /dev/sdс
ディスクへ /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
コマンドを実行すると、ディスク上にパーティションが表示されます。 /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
└─sdd2 8:50 0 222,5G 0 part
ディスク パーティションをアレイに追加します。
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
セクションが追加されたことを確認します。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
この後、アレイが同期するまで待ちます。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd1[3] sdc1[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdd2[3] sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.5% (1200000/233206784) finish=35.4min speed=109090K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
5. 新しいドライブへの GRUB のインストール
CentOS の場合:
grub2-install /dev/sdX
続きを読む Debian/Ubuntu:
grub-install /dev/sdX
どこ X
— ブロックデバイスの文字。 この場合、GRUB をインストールする必要があります。 /dev/sdc
и /dev/sdd
.
6. ルートパーティションのファイルシステム拡張子(ext4)
新しいディスクの場合 /dev/sdc
и /dev/sdd
931.5GBが利用可能です。 パーティション テーブルが小さいディスクからコピーされたため、パーティション /dev/sdc2
и /dev/sdd2
222.5GBが利用可能です。
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
それは必要です:
- 各ディスクのパーティション 2 を拡張します。
- 配列 md127 を展開し、
- PV(物理ボリューム)を拡張し、
- LV (論理ボリューム) vg0-root を展開し、
- ファイルシステムを拡張します。
ユーティリティの使用 parted セクションを展開してみましょう /dev/sdc2
最大値まで。 コマンドを実行する parted /dev/sdc
(1) コマンドを使用して現在のパーティション テーブルを表示します。 p
とします。
ご覧のとおり、パーティション 2 の終わりは 240 GB で終わります。 コマンドでパーティションを拡張しましょう resizepart
2
, ここで、2 はセクション (3) の番号です。 値をデジタル形式で表示します (たとえば、1000 GB)。または、ディスク共有の表示 (100%) を使用します。 パーティションが新しいサイズ (4) になっていることを再度確認します。
ディスクに対して上記の手順を繰り返します。 /dev/sdd
。 パーティションを拡張した後 /dev/sdc2
и /dev/sdd2
930.5GBになりました。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
この後、配列を展開します md127 最大まで。
mdadm --grow /dev/md127 --size=max
配列が拡張されたことを確認します。 現在、そのサイズは 930.4 GB になりました。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
拡張機能を拡張する 物理ボリューム。 拡張する前に現在のPVの状態を確認してみましょう。
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [222,40 GiB / 0 free]
Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0 ]
PV見ての通り /dev/md127
222.4 GB のスペースを使用します。
以下のコマンドでPVを展開します。
pvresize /dev/md127
PV増設結果の確認。
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [930,38 GiB / 707,98 GiB free]
Total: 1 [930,38 GiB] / in use: 1 [930,38 GiB] / in no VG: 0 [0 ]
拡大する 論理ボリューム。 拡張する前に現在のLV(1)の状態を確認しましょう。
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
206.41 GB を使用します。
以下のコマンド(2)でLVを展開します。
lvextend -l +100%FREE /dev/mapper/vg0-root
完了したアクションを確認します (3)。
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
ご覧のとおり、LV を拡張した後、占有ディスク容量は 914.39 GB になりました。
LV ボリュームは増加しました (4) が、ファイル システムは依然として 204 GB を占有しています (5)。
1. ファイルシステムを拡張しましょう。
resize2fs /dev/mapper/vg0-root
コマンドの実行後、ファイルシステムのサイズを確認します。
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 900G 1,3G 860G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
ルート ファイル システムのサイズは 900 GB に増加します。 手順を完了したら、古いディスクを削除できます。
ケース 2: 小型ディスクを大型ディスク (2TB 以上) に交換する
割り当て: 情報を維持しながら、現在のディスクをより大きなディスク (2 x 3TB) に交換します。 この場合、システムがインストールされている 2 GB SSD (RAID-240) ディスクが 1 つと、システムを転送する必要がある 2 TB SATA ディスクが 3 つあります。 現在のディスクは MBR パーティション テーブルを使用します。 新しいディスクの容量は 2 TB を超えるため、MBR は 2 TB を超えるディスクでは機能しないため、GPT テーブルを使用する必要があります。
現在のディスクレイアウトを見てみましょう。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
sdd 8:48 0 2,7T 0 disk
ディスク上で使用されているパーティションテーブルを確認してみましょう /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
ディスク上 /dev/sdb
同様のパーティション テーブルが使用されます。 システム上の使用ディスク容量を確認してみましょう。
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
ご覧のとおり、ファイル システムのルートは 204 GB を占めています。 ソフトウェア RAID アレイの現在の状態を確認してみましょう。
1. GPT パーティション テーブルのインストールとディスク パーティショニング
セクタごとのディスクレイアウトを確認してみましょう。
[root@localhost ~]# parted /dev/sda print
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 240GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Disk Flags:
Номер Начало Конец Размер Тип Файловая система Флаги
1 1049kB 1076MB 1075MB primary загрузочный, raid
2 1076MB 240GB 239GB primary raid
新しい 3TB ディスクには、3 つのパーティションを作成する必要があります。
- セクション
bios_grub
GPT BIOS 互換性のための 2MiB サイズ、 - マウントされる RAID アレイのパーティション
/boot
. - が存在する RAID アレイのパーティション。 LVルート и LV交換.
ユーティリティのインストール parted チーム yum install -y parted
(CentOSの場合)、 apt install -y parted
(Debian/Ubuntu の場合)。
使い方 parted 次のコマンドを実行してディスクをパーティション分割しましょう。
コマンドを実行する parted /dev/sdc
ディスクレイアウト編集モードに進みます。
GPT パーティション テーブルを作成します。
(parted) mktable gpt
1 セクションを作成する bios_grub
セクションを作成し、そのフラグを設定します。
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
パーティション 2 を作成し、フラグを設定します。 パーティションは RAID アレイのブロックとして使用され、次のようにマウントされます。 /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
3 番目のセクションを作成します。これは、LVM が配置される配列ブロックとしても使用されます。
(parted) mkpart primary 1028MiB 100%
この場合、フラグを設定する必要はありませんが、必要に応じて以下のコマンドでフラグを設定できます。
(parted) set 3 raid on
作成したテーブルを確認してみます。
(parted) p
Модель: ATA TOSHIBA DT01ACA3 (scsi)
Диск /dev/sdc: 3001GB
Размер сектора (логич./физич.): 512B/4096B
Таблица разделов: gpt
Disk Flags:
Номер Начало Конец Размер Файловая система Имя Флаги
1 1049kB 3146kB 2097kB primary bios_grub
2 3146kB 1077MB 1074MB primary загрузочный
3 1077MB 3001GB 3000GB primary
新しいランダムな GUID をディスクに割り当てます。
sgdisk -G /dev/sdd
2. アレイから最初のディスクのパーティションを削除する
アレイの状態を確認する
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
システムは 2 つのアレイを使用します: md126 (マウント ポイント /ブート) - で構成されます。 /dev/sda1
и /dev/sdb1
, md127
(LVM の swap
ファイル システムのルート) - で構成されます。 /dev/sda2
и /dev/sdb2
.
各アレイで使用される最初のディスクのパーティションを不良としてマークします。
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
ブロックデバイスパーティションの削除 /dev/sda
配列から。
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
ディスクを取り外した後のアレイの状態を確認しています。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
3. 新しいディスクのパーティションをアレイに追加する
次のステップでは、同期のために新しいディスクのパーティションをアレイに追加します。 現在のディスクレイアウトの状態を見てみましょう。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 2,7T 0 part
sdd 8:48 0 2,7T 0 disk
セクション /dev/sdc1
です bios_grub
セクションに記載されており、配列の作成には関与しません。 配列はのみを使用します /dev/sdc2
и /dev/sdc3
。 これらのセクションを対応する配列に追加します。
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
次に、アレイが同期するのを待ちます。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc2[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc3[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.2% (619904/233206784) finish=31.2min speed=123980K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
アレイにパーティションを追加した後のディスクのパーティション分割。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
4. XNUMX 番目のディスクのパーティションをアレイから削除する
各アレイで使用される XNUMX 番目のディスクのパーティションを不良としてマークします。
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
ブロックデバイスパーティションの削除 /dev/sda
配列から。
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. GPT レイアウト テーブルをコピーし、アレイを同期します。
GPT マークアップ テーブルをコピーするには、次のユーティリティを使用します。 sgdisk
、ディスク パーティションと GPT テーブルを操作するためのパッケージに含まれています - gdisk
.
インストール gdisk
CentOSの場合:
yum install -y gdisk
インストール gdisk
Debian/Ubuntu の場合:
apt install -y gdisk
注意:GPT用 первым ディスクが表示されます その上に マークアップをコピーし、 第二 ディスクはディスクを示します そこから マークアップをコピーします。 ディスクを混同すると、最初は正常だったパーティションが上書きされ、破壊されます。
GPT マークアップ テーブルをコピーします。
sgdisk -R /dev/sdd /dev/sdc
テーブルをディスクに転送した後のディスクのパーティショニング /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
└─sdd3 8:51 0 2,7T 0 part
次に、ソフトウェア RAID アレイに参加する各パーティションを追加します。
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
アレイが同期するのを待っています。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd2[3] sdc2[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 1/1 pages [4KB], 65536KB chunk
md127 : active raid1 sdd3[3] sdc3[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.0% (148224/233206784) finish=26.2min speed=148224K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
GPT パーティションを XNUMX 番目の新しいディスクにコピーすると、パーティションは次のようになります。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
次に、新しいディスクに GRUB をインストールします。
CentOS のインストール:
grub2-install /dev/sdX
Debian/Ubuntu のインストール:
grub-install /dev/sdX
どこ X
— ドライブ文字、この場合はドライブ /dev/sdc
и /dev/sdd
.
アレイに関する情報を更新します。
CentOS の場合:
mdadm --detail --scan --verbose > /etc/mdadm.conf
続きを読む Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
画像の更新 initrd
:
CentOS の場合:
dracut -f -v --regenerate-all
続きを読む Debian/Ubuntu:
update-initramfs -u -k all
GRUB 構成を更新します。
CentOS の場合:
grub2-mkconfig -o /boot/grub2/grub.cfg
続きを読む Debian/Ubuntu:
update-grub
手順が完了したら、古いディスクを削除できます。
6. ルートパーティションのファイルシステム拡張子(ext4)
システムを 2 x 3TB ディスク (RAID-1) に移行した後、ファイル システムを拡張する前のディスク パーティショニング。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
現在のセクション /dev/sdc3
и /dev/sdd3
2.7TBを占有します。 GPT テーブルを使用して新しいディスク レイアウトを作成したため、パーティション 3 のサイズはすぐに可能な最大ディスク領域に設定されました。この場合、パーティションを拡張する必要はありません。
それは必要です:
- 配列 md126 を展開し、
- PV(物理ボリューム)を拡張し、
- LV (論理ボリューム) vg0-root を展開し、
- ファイルシステムを拡張します。
1. アレイを展開します md126
最大まで。
mdadm --grow /dev/md126 --size=max
アレイ拡張後 md126
占有スペースのサイズは 2.7 TB に増加しました。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
拡大する 物理ボリューム.
拡張する前に、占有スペース PV / の現在値を確認してくださいdev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
以下のコマンドでPVを展開します。
pvresize /dev/md126
完了したアクションを確認します。
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
拡大する 論理ボリューム vg0-root.
PVを拡張したら占有空間VGを確認してみましょう。
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
LVが占めるスペースを確認してみましょう。
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- <206,41g
swap vg0 -wi-ao---- <16,00g
vg0-root ボリュームは 206.41 GB を占有します。
LV を最大ディスク容量まで拡張します。
lvextend -l +100%FREE /dev/mapper/vg0-root
拡張後のLV空間を確認します。
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- 2,71t
swap vg0 -wi-ao---- <16,00g
ファイルシステム(ext4)を拡張します。
現在のファイルシステムのサイズを確認してみましょう。
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,4G 192G 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
ボリューム /dev/mapper/vg0-root は、LV 拡張後に 204 GB を占有します。
ファイルシステムを拡張します。
resize2fs /dev/mapper/vg0-root
拡張後のファイルシステムのサイズを確認します。
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 2,7T 1,4G 2,6T 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
ファイル システムのサイズは、ボリューム全体をカバーするために増加されました。
出所: habr.com