Falha na atualização do servidor, partição de inicialização muito pequena

1

A atualização do Ubuntu 12.10 para 13.10 é interrompida logo após o início, devido à partição /boot ter apenas 54 MB de tamanho. O servidor possui 2 discos rígidos com 2 partições cada, sendo conectados via RAID1. Como o servidor está localizado em um datacenter, ele não pode ser inicializado com um disco do sistema ativo, para usar gparted . O sistema de recuperação, carregado via rede, não acessa o disco rígido ( fdisk -l está vazio).

Pergunta sendo: Como posso aumentar /boot , então os discos RAM iniciais se encaixam (sugerido: 300MB)?

do-release-upgrade mostra isso:

Not enough free disk space

The upgrade has aborted. The upgrade needs a total of 55.2 M free
space on disk '/boot'. Please free at least an additional 29.2 M of
disk space on '/boot'. Empty your trash and remove temporary packages
of former installations using 'sudo apt-get clean'.

uname -r mostra isso:     3.5.0-47-genérico

dpkg -l linux-im* mostra isso:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                   Version                  Architecture             Description
+++-======================================-========================-========================-=================================================================================
un  linux-image                            <none>                                            (no description available)
un  linux-image-2.6                        <none>                                            (no description available)
un  linux-image-2.6.24-16-server           <none>                                            (no description available)
un  linux-image-2.6.24-23-server           <none>                                            (no description available)
un  linux-image-2.6.24-24-server           <none>                                            (no description available)
un  linux-image-2.6.24-25-server           <none>                                            (no description available)
un  linux-image-2.6.24-28-server           <none>                                            (no description available)
rc  linux-image-2.6.32-32-generic-pae      2.6.32-32.62             i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-45-generic-pae      2.6.32-45.104            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-46-generic-pae      2.6.32-46.108            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-47-generic-pae      2.6.32-47.109            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-48-generic-pae      2.6.32-48.110            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-53-generic-pae      2.6.32-53.115            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-54-generic-pae      2.6.32-54.116            i386                     Linux kernel image for version 2.6.32 on x86
rc  linux-image-2.6.32-55-generic-pae      2.6.32-55.117            i386                     Linux kernel image for version 2.6.32 on x86
un  linux-image-3.0                        <none>                                            (no description available)
ii  linux-image-3.5.0-47-generic           3.5.0-47.71              i386                     Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii  linux-image-extra-3.5.0-47-generic     3.5.0-47.71              i386                     Linux kernel image for version 3.5.0 on 32 bit x86 SMP
ii  linux-image-generic                    3.5.0.47.63              i386                     Generic Linux kernel image
ii  linux-image-generic-pae                3.5.0.47.63              i386                     Transitional package

ls -la /boot mostra isso:

total 26028
drwxr-xr-x  4 root root     2048 Mar  1 14:24 .
drwxr-xr-x 26 root root     4096 Mar  1 14:23 ..
-rw-------  1 root root  2324217 Feb 19 01:28 System.map-3.5.0-47-generic
-rw-r--r--  1 root root   862198 Feb 19 01:28 abi-3.5.0-47-generic
-rw-r--r--  1 root root   154687 Feb 19 01:28 config-3.5.0-47-generic
drwxr-xr-x  2 root root     1024 Mar  1 14:23 grub
-rw-r--r--  1 root root 18016141 Mar  1 14:24 initrd.img-3.5.0-47-generic
drwx------  2 root root     1024 Jul 30  2011 lost+found
-rw-------  1 root root  5175536 Feb 19 01:28 vmlinuz-3.5.0-47-generic

df -h mostra isso:

Filesystem      Size  Used Avail Use% Mounted on
/dev/md1        458G  161G  275G  37% /
udev            2.0G  4.0K  2.0G   1% /dev
tmpfs           809M  304K  809M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/md0         54M   26M   25M  51% /boot

fdisk -l mostra isso:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0x00024aac

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      112454       56196   fd  Linux raid autodetect
/dev/sda2          112455     2216969     1052257+  82  Linux swap / Solaris
/dev/sda3         2216970   976768064   487275547+  fd  Linux raid autodetect

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0x0002518c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63      112454       56196   fd  Linux raid autodetect
/dev/sdb2          112455     2216969     1052257+  82  Linux swap / Solaris
/dev/sdb3         2216970   976768064   487275547+  fd  Linux raid autodetect

Disk /dev/md1: 499.0 GB, 498970066944 bytes
2 heads, 4 sectors/track, 121818864 cylinders, total 974550912 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: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 57 MB, 57475072 bytes
2 heads, 4 sectors/track, 14032 cylinders, total 112256 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: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

cat /proc/mdstat mostra isso:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      56128 blocks [2/2] [UU]

md1 : active raid1 sdb3[1] sda3[0]
      487275456 blocks [2/2] [UU]

unused devices: <none>

lspci -v | grep RAID mostra isso:

01:0e.0 RAID bus controller: Broadcom BCM5785 [HT1000] SATA (Native SATA Mode) (prog-if 05)
    
por Jublo 02.03.2014 / 21:21

2 respostas

0

Você poderia remover o kernel atual ( sudo apt-get purge linux-image-* ) e, em seguida, sem reinicializar instalar o kernel mais recente ( sudo apt-get install linux-image-generic ). Isso deve funcionar [ 1 ] , no entanto, se não, você não tem como inicializar seu sistema.

Outra solução seria usar Ksplice Uptrack , que permite que você atualize seu kernel sem precisar reinicializar. O único problema aqui seria que a versão gratuita só suporta Ubuntu Desktop, então você teria que pagar pelo serviço, mas pode ser maneiras de usar a versão desktop em um servidor.

1. “O Ubuntu acabou de remover o meu kernel (em execução!)” Ubuntuforums.org

    
por Donarsson 02.03.2014 / 22:03
0

Eu tenho uma solução sugerida, mas eu recomendo strongmente que você a experimente em uma máquina local ou em uma máquina virtual antes de usar seu servidor, especialmente se você não puder acessá-lo fisicamente.

Essa advertência está fora do caminho:

  1. Desmonte o sistema de arquivos /boot .
  2. Desative o espaço de troca ( sudo swapoff /dev/sda e, da mesma forma, para /dev/sdb ).
  3. Usando fdisk ou parted , exclua suas duas partições de troca e as recrie com tamanhos menores e pontos de início posteriores. A parte de "pontos de início mais adiantados" é crítica, porque você deseja uma lacuna entre as partições 1 e 2. Além disso, certifique-se de que os pontos iniciais sejam idênticos nos dois discos.
  4. Usando fdisk ( não parted ), exclua a partição 1 em /dev/sda e recrie-a exatamente com o mesmo ponto inicial e uma extremidade posterior ponto. Isso pode ser complicado. Sua partição 1 em ambos os discos tem um ponto inicial do setor 63, que as ferramentas modernas podem relutar em criar. Assim, pode ser necessário desenterrar uma versão antiga do fdisk para que isso funcione.
  5. Antes de salvar suas alterações, verifique se o ponto inicial de sua nova primeira partição é o mesmo de agora - setor 63. Se não for, aborte sem salvando suas alterações . (Você pode fazer isso em fdisk digitando q ou pressionando Ctrl + c, mas parted faz alterações no disco assim que você digita o comando para fazer uma alteração, e é por isso que eu disse para fazer isso com fdisk - você pode cancelar com fdisk mas não com parted .
  6. Se a sua nova primeira partição começar no setor 63, salve as alterações digitando w em fdisk .
  7. Repita a expansão da primeira partição em /dev/sdb .
  8. Digite sudo partprobe para fazer com que o kernel reconheça as partições alteradas.
  9. Pode ser necessário fazer algumas coisas RAID aqui para que o RAID reconheça as partições alteradas, mas não tenho certeza disso.
  10. Se /boot usar ext2fs, ext3fs ou ext4fs, você poderá usar resize2fs para redimensionar o sistema de arquivos para preencher o novo tamanho das partições em que ele reside. Existem ferramentas semelhantes para outros sistemas de arquivos.
  11. Crie um novo espaço de troca nas segundas partições dos dois discos, como em mkswap /dev/sda2 .
  12. Edite /etc/fstab para ajustar a alteração nas partições de troca, se necessário. (Eles geralmente são referenciados por meio de valores de UUID, que serão alterados. Use blkid para aprender os novos valores de UUID ou consulte-os como /dev/sda2 e /dev/sdb2 .)
  13. Use swapon para reativar seu espaço de troca.
  14. Para um teste de acidez, reinicie.
por Rod Smith 03.03.2014 / 03:05