この投稿の目的は、新しいカーネル パッケージをインストールするための十分なスペースがない場合に、/boot ファイルシステムを増やす手順を説明することです。 /boot のサイズを縮小する標準的な方法、つまり未使用のカーネルとイメージ ファイルをブートから削除する方法がありますが、別の方法として、この投稿ではブート パーティションのサイズを拡張する手順を説明します。
これを適用できるシナリオは次のとおりです。
- OVM / VMware ゲスト マシン
- ゲスト バックアップは OVM/VMware から取得する必要があります。
- /boot は LVM にありませんが、他の OS ファイルシステムは LVM を使用しています。
手順
1. 新しいディスクを追加し (新しいディスクのサイズは、既存のボリューム グループのサイズ以上である必要があります)、「fdisk -l」を使用して、新しく追加されたディスクを確認します。例えば/dev/sdb
# fdisk -l Disk /dev/sda: 55.3 GB, 55278469120 bytes 255 heads, 63 sectors/track, 6720 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00068fe8 Device Boot Start End Blocks Id System /dev/sda1 * 1 13 102400 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 13 6721 53878784 8e Linux LVM Disk /dev/sdb: 60.7 GB, 60673785856 bytes 255 heads, 63 sectors/track, 7376 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
2. 新しく追加されたディスクをパーティション分割し、タイプを Linux LVM に変更します。
# fdisk /dev/sdb Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-7376, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-7376, default 7376): +56G Command (m for help): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): p Disk /dev/sdb: 60.7 GB, 60673785856 bytes 255 heads, 63 sectors/track, 7376 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xbd30352b Device Boot Start End Blocks Id System /dev/sdb1 1 7311 58725576 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
3. パーティション化されたディスクに物理ボリュームを作成します。 /dev/sdb1:
# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
4. ボリューム グループ名を確認します。物理ボリュームを既存のボリューム グループに追加します。
# vgs VG #PV #LV #SN Attr VSize VFree VolGroup 1 4 0 wz--n- 51.38g 42.98g
# vgextend VolGroup /dev/sdb1 Volume group "VolGroup" successfully extended
5. 物理ボリュームを既存のディスク (/dev/sda2) から新しく作成した (/dev/sdb1) に移行します。次に、既存のボリューム グループを減らします。
# pvmove /dev/sda2 /dev/sdb1 /dev/sda2: Moved: 0.2% /dev/sda2: Moved: 11.6% /dev/sda2: Moved: 15.2% /dev/sda2: Moved: 17.4% /dev/sda2: Moved: 19.9% /dev/sda2: Moved: 22.1% /dev/sda2: Moved: 24.5% /dev/sda2: Moved: 26.6% /dev/sda2: Moved: 28.9% /dev/sda2: Moved: 31.2% /dev/sda2: Moved: 35.6% /dev/sda2: Moved: 38.9% /dev/sda2: Moved: 41.3% /dev/sda2: Moved: 46.5% /dev/sda2: Moved: 52.3% /dev/sda2: Moved: 100.0%
# vgreduce VolGroup /dev/sda2 Removed "/dev/sda2" from volume group "VolGroup"
6. パーティション /dev/sda2 を削除します:
# fdisk -cu /dev/sda Command (m for help): d Partition number (1-4): 2 Command (m for help): p Disk /dev/sda: 55.3 GB, 55278469120 bytes 255 heads, 63 sectors/track, 6720 cylinders, total 107965760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00068fe8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 206847 102400 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
7. /boot をアンマウントします:
# umount /boot
8. /dev/sda1 の開始ブロックと終了ブロックを確認します。次に、パーティション /dev/sda1 を削除し、同じ開始ブロックで新しいパーティション /dev/sda1 を作成し、必要なだけサイズを拡張します。
# fdisk -cu /dev/sda Command (m for help): p Disk /dev/sda: 55.3 GB, 55278469120 bytes 224 heads, 19 sectors/track, 25367 cylinders, total 107965760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00068fe8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 206847 102400 83 Linux Command (m for help): d Selected partition 1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (2048-107965759, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-107965759, default 107965759): +1000M Command (m for help): p Disk /dev/sda: 55.3 GB, 55278469120 bytes 224 heads, 19 sectors/track, 25367 cylinders, total 107965760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00068fe8 Device Boot Start End Blocks Id System /dev/sda1 2048 2050047 1024000 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
9./dev/sda1のファイルシステムをチェック:
# e2fsck -f /dev/sda1 e2fsck 1.43-WIP (20-Jun-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda1: 45/25688 files (6.7% non-contiguous), 88803/102400 blocks
10. ファイル システムのサイズを変更します。
# resize2fs /dev/sda1 resize2fs 1.43-WIP (20-Jun-2013) Resizing the filesystem on /dev/sda1 to 1024000 (1k) blocks. The filesystem on /dev/sda1 is now 1024000 blocks long.
11. /boot をマウントします。
# mount /boot
12. これらのすべての手順の後、/boot ファイルシステムのサイズが拡張されます。これは、'df -h' コマンドを使用して確認できます。
# df -h /boot