ソフトウェアRAID(raid1)を使用するサーバーがあり、ルートパーティションのボリュームを増やす必要があります。 Googleで検索しましたが、これを行う方法が見つかりませんでした。 2x1TB RAID1があります。
私のdf -h:
Filesystem Size Used Avail Use% Mounted on
rootfs 20G 20G 0 100% /
/dev/root 20G 20G 0 100% /,
devtmpfs 3.9G 4.0K 3.9G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 788M 256K 788M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
overflow 1.0M 4.0K 1020K 1% /tmp
/dev/md3 898G 72M 852G 1% /home
私のfdisk -l:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000e1568
Device Boot Start End Blocks Id System
/dev/sdb1 * 4096 40962047 20478976 fd Linux RAID autodetect
/dev/sdb2 40962048 42008575 523264 82 Linux swap / Solaris
/dev/sdb3 42008576 1953517567 955754496 fd Linux RAID autodetect
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000a0d60
Device Boot Start End Blocks Id System
/dev/sda1 * 4096 40962047 20478976 fd Linux RAID autodetect
/dev/sda2 40962048 42008575 523264 82 Linux swap / Solaris
/dev/sda3 42008576 1953517567 955754496 fd Linux RAID autodetect
Disk /dev/md3: 978.7 GB, 978692538368 bytes
2 heads, 4 sectors/track, 238938608 cylinders, total 1911508864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/md3 doesn't contain a valid partition table
Disk /dev/md1: 21.0 GB, 20970405888 bytes
2 heads, 4 sectors/track, 5119728 cylinders, total 40957824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/md1 doesn't contain a valid partition table
答え1
ライブシステムでこれを行うのは非常に面倒です。あなたが選択した組織は、拡張に関して非常に柔軟性がありません。
私の提案は、ルートパーティションのいくつかの大きな塊を移動し、/home
シンボリックリンクを作成することです。
実際にサイズを変更するには、次の方法を使用できます。システムが起動しない(運が良い場合)、データが失われる危険(運がない場合)が発生する可能性があるため、まず仮想マシンで練習することをお勧めします。バックアップが最新であることを確認してください。
sshdを除くすべてのサービスを停止します。 RAIDの同期を解除すると、現在
/
または後で/home
ファイルに変更されたすべての内容が失われます。RAIDコンポーネントを手動でシャットダウン
/dev/sdb
してアレイから取り外します。また、交換をオフにしてください/dev/sdb2
。mdadm /dev/md1 -f /dev/sdb1 mdadm /dev/md1 -r /dev/sdb1 mdadm /dev/md3 -f /dev/sdb3 mdadm /dev/md3 -r /dev/sdb3 swapoff /dev/sdb2
再分割
/dev/sdb
。より柔軟なパーティショニング方式のLVMを使用することをお勧めします。これにより、後でサイズを変更するのがはるかに簡単になります。ディスク全体にわたるRAID 1ボリュームを作成します(スワップ領域を除く)。私はRAIDの新しいボリュームが/dev/sdb1
まだまだ/dev/sdb2
スワップスペースであると仮定します。ボリュームの順序は重要ではありません。/dev/sdb1
これで、単一のコンポーネントが RAID 1 ボリュームの一部を構成するために使用されます。mdadm --create /dev/md4 -l 1 -n 2 missing /dev/sdb2
新しいRAIDボリューム左心室容積物理ボリュームを作成し、それを含むボリュームグループを作成します。
pvcreate /dev/md4 vgcreate main /dev/md4
必要なサイズでルート論理ボリュームを作成し、残りの空き領域にまたがる基本LVを作成します。
lvcreate --size 40g -n root main lvcreate --size 100%FREE -n home main
/dev/mapper/main_root
とからファイルシステムを作成します/dev/mapper/main_home
。また実行しますmkswap /dev/sdb2
。新しいファイルシステムをマウントし、そこにデータをコピーします。
mkdir /media/new_root /media/new_home mount /dev/mapper/main_root /media/new_root mount /dev/mapper/main_home /media/new_home cp -ax / /media/new_root cp -ax / /media/new_home
chroot /media/new_root
ストレージ構成を実行し、新しい組織に更新します。に/etc/fstab
インストールするには更新する必要があります。また、スワップエントリをコメントアウトします。また、ブートローダに応じて新しいシステムを起動可能にする必要があります。 LILOとGrub2はLVMから起動できますが、Grub 0.9xは起動できません。/dev/mapper/main_root
/home
/dev/sda2
新しいシステムで再起動します。仮想マシンですべての手順を完了し、正常に動作していることを確認した場合にのみこれを実行してください。
再パーティション化
/dev/sda
と同じです/dev/sdb
。mkswap /dev/sda2
それからswapon /dev/sda2
。これで/dev/sda2
アイテムのコメントを削除できます/etc/fstab
。新しいRAID1アレイに追加し、
/dev/sda1
バックグラウンドで同期するようにします。mdadm --add /dev/md4 /dev/sda1