根のボリュームを上げる方法

根のボリュームを上げる方法

ソフトウェア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シンボリックリンクを作成することです。


実際にサイズを変更するには、次の方法を使用できます。システムが起動しない(運が良い場合)、データが失われる危険(運がない場合)が発生する可能性があるため、まず仮想マシンで練習することをお勧めします。バックアップが最新であることを確認してください。

  1. sshdを除くすべてのサービスを停止します。 RAIDの同期を解除すると、現在/または後で/homeファイルに変更されたすべての内容が失われます。

  2. 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
    
  3. 再分割/dev/sdb。より柔軟なパーティショニング方式のLVMを使用することをお勧めします。これにより、後でサイズを変更するのがはるかに簡単になります。ディスク全体にわたるRAID 1ボリュームを作成します(スワップ領域を除く)。私はRAIDの新しいボリュームが/dev/sdb1まだまだ/dev/sdb2スワップスペースであると仮定します。ボリュームの順序は重要ではありません。

  4. /dev/sdb1これで、単一のコンポーネントが RAID 1 ボリュームの一部を構成するために使用されます。

    mdadm --create /dev/md4 -l 1 -n 2 missing /dev/sdb2
    
  5. 新しいRAIDボリューム左心室容積物理ボリュームを作成し、それを含むボリュームグループを作成します。

    pvcreate /dev/md4
    vgcreate main /dev/md4
    
  6. 必要なサイズでルート論理ボリュームを作成し、残りの空き領域にまたがる基本LVを作成します。

    lvcreate --size 40g -n root main
    lvcreate --size 100%FREE -n home main
    
  7. /dev/mapper/main_rootとからファイルシステムを作成します/dev/mapper/main_home。また実行しますmkswap /dev/sdb2

  8. 新しいファイルシステムをマウントし、そこにデータをコピーします。

    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
    
  9. chroot /media/new_rootストレージ構成を実行し、新しい組織に更新します。に/etc/fstabインストールするには更新する必要があります。また、スワップエントリをコメントアウトします。また、ブートローダに応じて新しいシステムを起動可能にする必要があります。 LILOとGrub2はLVMから起動できますが、Grub 0.9xは起動できません。/dev/mapper/main_root/home/dev/sda2

  10. 新しいシステムで再起動します。仮想マシンですべての手順を完了し、正常に動作していることを確認した場合にのみこれを実行してください。

  11. 再パーティション化/dev/sdaと同じです/dev/sdb

  12. mkswap /dev/sda2それからswapon /dev/sda2。これで/dev/sda2アイテムのコメントを削除できます/etc/fstab

  13. 新しいRAID1アレイに追加し、/dev/sda1バックグラウンドで同期するようにします。

    mdadm --add /dev/md4 /dev/sda1
    

おすすめ記事