Der Zweck dieses Beitrags besteht darin, die Schritte zu erläutern, die zum Erhöhen des /boot-Dateisystems erforderlich sind, wenn der Dateisystemtyp XFS ist und wenn nicht genügend Speicherplatz verfügbar ist, um ein neues Kernel-Paket zu installieren. Obwohl wir Standardmethoden haben, um die Größe von /boot zu reduzieren, d. h. unbenutzte Kernel- und Image-Dateien aus dem Boot entfernen, zeigt dieser Beitrag als alternativen Ansatz die Schritte zum Erweitern der Größe der Boot-Partition.
Folgendes sollte das Szenario sein, in dem dies angewendet werden kann:
- OVM/Vmware-Gastmaschine.
- Guest Backup sollte von OVM/Vmware genommen werden.
- /boot nicht in LVM, während andere Betriebssystem-Dateisysteme LVM verwenden.
Befolgen Sie diese Schritte, um die Größe der Startpartition zu erweitern.
1. Fügen Sie eine neue Festplatte hinzu (die Größe der neuen Festplatte muss gleich oder größer als die Größe der vorhandenen Datenträgergruppe sein) und verwenden Sie „fdisk -l“, um nach der neu hinzugefügten Festplatte zu suchen. z.B. /dev/sdb:
# fdisk -l Disk /dev/sda: 32.7 GB, 32693026816 bytes, 63853568 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 label type: dos Disk identifier: 0x0007bf28 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 63852543 31413248 8e Linux LVM Disk /dev/sdb: 45.6 GB, 45642022912 bytes, 89144576 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 /dev/mapper/ol-root: 30.0 GB, 29972496384 bytes, 58540032 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 /dev/mapper/ol-swap: 2147 MB, 2147483648 bytes, 4194304 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
2. Partitionieren Sie die neu hinzugefügte Festplatte und ändern Sie den Typ in Linux LVM:
# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xef10e36e. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-89144575, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-89144575, default 89144575): Using default value 89144575 Partition 1 of type Linux and of size 42.5 GiB is set Command (m for help): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 45.6 GB, 45642022912 bytes, 89144576 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 label type: dos Disk identifier: 0xef10e36e Device Boot Start End Blocks Id System /dev/sdb1 2048 89144575 44571264 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
3. Erstellen Sie ein physisches Volume auf der partitionierten Festplatte, z. /dev/sdb1.
# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
4. Suchen Sie nach dem Namen der Datenträgergruppe. Fügen Sie den physischen Datenträger der vorhandenen Datenträgergruppe hinzu.
# vgs VG #PV #LV #SN Attr VSize VFree ol 1 2 0 wz--n- 29.96g 44.00m
# vgextend ol /dev/sdb1 Volume group "ol" successfully extended
5. Migrieren Sie das physische Volume von der vorhandenen Festplatte (/dev/sda2) auf die neu erstellte (/dev/sdb1). Reduzieren Sie dann die vorhandene Volume-Gruppe.
# pvmove /dev/sda2 /dev/sdb1 /dev/sda2: Moved: 0.1% /dev/sda2: Moved: 6.7% /dev/sda2: Moved: 8.1% /dev/sda2: Moved: 22.9% /dev/sda2: Moved: 32.6% /dev/sda2: Moved: 53.9% /dev/sda2: Moved: 76.9% /dev/sda2: Moved: 78.2% /dev/sda2: Moved: 100.0%
# vgreduce ol /dev/sda2 Removed "/dev/sda2" from volume group "ol"
6. Löschen Sie die Partition /dev/sda2.
# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 is deleted Command (m for help): p Disk /dev/sda: 32.7 GB, 32693026816 bytes, 63853568 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 label type: dos Disk identifier: 0x0007bf28 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 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. Unmounten /boot:
# umount /boot
8. Überprüfen Sie die Start- und Endblöcke von /dev/sda1. Löschen Sie dann die Partition /dev/sda1 und erstellen Sie eine neue Partition /dev/sda1 mit demselben Startblock und erweitern Sie die Größe so weit wie erforderlich.
# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sda: 32.7 GB, 32693026816 bytes, 63853568 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 label type: dos Disk identifier: 0x0007bf28 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux Command (m for help): d Selected partition 1 Partition 1 is deleted Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-63853567, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-63853567, default 63853567): +1000M Partition 1 of type Linux and of size 1000 MiB is set Command (m for help): p Disk /dev/sda: 32.7 GB, 32693026816 bytes, 63853568 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 label type: dos Disk identifier: 0x0007bf28 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. 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.
9. Überprüfen Sie das Dateisystem von /dev/sda1:
# xfs_repair /dev/sda1 Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... done
10. Ändern Sie die Größe des Dateisystems:
# xfs_growfs -d /dev/sda1 xfs_growfs: /dev/sda1 is not a mounted XFS filesystem
11. Mounten Sie /boot.
# mount /boot
12. Nach all diesen Schritten wird die Größe des /boot-Dateisystems erweitert. Sie können dies mit dem Befehl 'df -h' überprüfen.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/ol-root 28G 1.6G 27G 6% / devtmpfs 863M 0 863M 0% /dev tmpfs 873M 0 873M 0% /dev/shm tmpfs 873M 8.5M 865M 1% /run tmpfs 873M 0 873M 0% /sys/fs/cgroup tmpfs 175M 0 175M 0% /run/user/0 /dev/sda1 497M 147M 351M 30% /boot