我们有一台运行 Ubuntu 14.04 LTS 的服务器。最后一个内核包的安装和重新安装失败,因为系统提示“/boot 上没有剩余空间”。虽然空间还很多。
root@server1:~# lsblk -o NAME,FSTYPE,UUID,RO,RM,SIZE,STATE,MOUNTPOINT
NAME FSTYPE UUID RO RM SIZE STATE MOUNTPOINT
sda 0 0 136,7G running
├─sda1 ext2 44c5a124-edc0-4e3f-be03-d3e5a8cd2cc7 0 0 244M /boot
├─sda2 0 0 1K
└─sda5 LVM2_member Mynsp3-K25i-ZDba-qhO3-4SxW-Z4Op-RFyyYP 0 0 136,5G
├─server1--vg-root (dm-0) ext4 cbc2363b-60a2-4f86-ab50-bab0d8d997b0 0 0 120,5G running /
└─server1--vg-swap_1 (dm-1) swap 7e96c9b4-992a-49e5-89cb-7379d8b888b5 0 0 16G running [SWAP]
。
root@server1:~# df -h /boot
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1 237M 54M 171M 24% /boot
。
root@server1:~# ls -l /boot
insgesamt 43579
-rw-r--r-- 1 root root 1169204 Aug 20 20:15 abi-3.13.0-157-generic
-rw-r--r-- 1 root root 1169204 Aug 24 21:01 abi-3.13.0-158-generic
-rw-r--r-- 1 root root 166094 Aug 20 20:15 config-3.13.0-157-generic
-rw-r--r-- 1 root root 166094 Aug 24 21:01 config-3.13.0-158-generic
drwxr-xr-x 5 root root 1024 Sep 19 09:50 grub
-rw-r--r-- 1 root root 22598579 Aug 24 06:33 initrd.img-3.13.0-157-generic
drwx------ 2 root root 12288 Jan 6 2015 lost+found
-rw-r--r-- 1 root root 176500 Mär 12 2014 memtest86+.bin
-rw-r--r-- 1 root root 178176 Mär 12 2014 memtest86+.elf
-rw-r--r-- 1 root root 178680 Mär 12 2014 memtest86+_multiboot.bin
-rw-r--r-- 1 root root 254 Aug 20 20:15 retpoline-3.13.0-157-generic
-rw-r--r-- 1 root root 254 Aug 24 21:01 retpoline-3.13.0-158-generic
-rw------- 1 root root 3416014 Aug 20 20:15 System.map-3.13.0-157-generic
-rw------- 1 root root 3416014 Aug 24 21:01 System.map-3.13.0-158-generic
-rw------- 1 root root 5892240 Aug 20 20:15 vmlinuz-3.13.0-157-generic
-rw------- 1 root root 5892368 Aug 24 21:01 vmlinuz-3.13.0-158-generic
。
root@server1:~# apt-get install --reinstall linux-image-3.13.0-158-generic
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 15,6 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
(Lese Datenbank ... 307225 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../linux-image-3.13.0-158-generic_3.13.0-158.208_amd64.deb ...
Examining /etc/kernel/preinst.d/
run-parts: executing /etc/kernel/preinst.d/amd64-microcode 3.13.0-158-generic /boot/vmlinuz-3.13.0-158-generic
run-parts: executing /etc/kernel/preinst.d/intel-microcode 3.13.0-158-generic /boot/vmlinuz-3.13.0-158-generic
Done.
Entpacken von linux-image-3.13.0-158-generic (3.13.0-158.208) über (3.13.0-158.208) ...
dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/linux-image-3.13.0-158-generic_3.13.0-158.208_amd64.deb (--unpack):
Extrahierte Daten für »./boot/retpoline-3.13.0-158-generic« können nicht nach »/boot/retpoline-3.13.0-158-generic.dpkg-new« kopiert werden: Es konnte nicht geschrieben werden (Auf dem Gerät ist kein Speicherplatz mehr verfügbar)
Es wurde kein Apport-Bericht verfasst, da die Fehlermeldung auf einen Fehler wegen voller Festplatte hindeutet.
dpkg-deb: Fehler: Unterprozess einfügen wurde durch Signal (Datenübergabe unterbrochen (broken pipe)) getötet
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-158-generic /boot/vmlinuz-3.13.0-158-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-158-generic /boot/vmlinuz-3.13.0-158-generic
Fehler traten auf beim Bearbeiten von:
/var/cache/apt/archives/linux-image-3.13.0-158-generic_3.13.0-158.208_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
在系统日志中我可以看到设备 /dev/sda1 的一些错误:
Sep 19 09:33:50 server1 kernel: [ 37.720753] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 10: block 84733: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.723801] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 12: block 101629: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.723956] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 12: block 101629: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.726897] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 14: block 118525: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.727045] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 14: block 118525: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.729944] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 16: block 135421: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.730140] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 16: block 135421: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.732992] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 18: block 152317: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.733182] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 18: block 152317: invalid block bitmap
Sep 19 09:33:50 server1 kernel: [ 37.736175] EXT4-fs error (device sda1): ext4_validate_block_bitmap:376: comm grub-editenv: bg 20: block 169213: invalid block bitmap
虽然使用 e2fsck 检查时我没有发现任何问题:
root@server1:~# e2fsck -C0 -p -f -v /dev/sda1
312 Inodes sind in Benutzung (0.50% von 62496)
54 nicht zusammenhängende Dateien (17.3%)
2 nicht zusammenhängende Verzeichnisse (0.6%)
# von Inodes mit ind/dind/tind Blöcken: 52/10/0
62386 Blöcke werden benutzt (24.97% von 249856)
0 ungültige Blöcke
0 große Dateien
297 reguläre Dateien
6 Verzeichnisse
0 zeichenorientierte Gerätedateien
0 Blockgerätedateien
0 Fifos
0 Verknüpfungen
0 symbolische Verknüpfungen (0 schnelle symbolische Verknüpfungen)
0 Sockets
------------
303 Dateien
有人知道这里发生什么事吗?