CloudLinux 服务器无法启动

CloudLinux 服务器无法启动

我有一台运行 Cloud Linux 的 cPanel 服务器,它是一台专用服务器,最初运行的是 CentOS 6.4 和 SoftRaid 1。我重新安装后将其转换为 CloudLinux。直到现在,我都不需要重新启动它。一切都运行顺利,但当我重新启动服务器时,它关闭了,但没有恢复。提供商将其置于救援模式,因为我无法使用 KVM 和 IPMI。我进行了硬件测试,一切正常。我尝试重新安装 GRUB,但什么也没改变。服务器仍然无法启动。我现在真的没主意了。提供商是非托管的,我把重新安装作为最后的手段。

我使用本教程重新安装了 GRUB:http://www.adminlinux.org/2009/10/how-to-reinstall-grub-while-in-rescue.html

编辑:

提供商告诉我,启动时屏幕上会显示以下内容:

*An error occurred during the file system check*
*Dropping you to a shell; the system will reboot*

我做了一些研究,我需要运行 fsck。

当我尝试运行 fsck /dev/sda1 时,我不断收到此信息:

root@rescue [/]# fsck /dev/sda1
fsck from util-linux-ng 2.17.2
fsck: fsck.linux_raid_member: not found
fsck: Error 2 while executing fsck.linux_raid_member for /dev/sda1

驱动器已安装,然后我尝试卸载它,

root@rescue [/]# fsck /dev/sda1
fsck from util-linux-ng 2.17.2
/dev/sda1 is in use.
Aborted

我正在救援模式下做这一切。

我在 Raid 1 中有 2 个驱动器,每个驱动器 1TB,以下是 fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md1        /       ext3    errors=remount-ro,usrjquota=quota.user,jqfmt=vfsv0      0       1
/dev/md3        /home   ext3    usrjquota=quota.user,jqfmt=vfsv0        1       2
/dev/sda2       swap    swap    defaults        0       0
/dev/sdb2       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs       /dev/shm tmpfs  noexec,nosuid   0   0
devpts          /dev/pts        devpts  defaults        0       0
/tmp_fs /tmp ext3 noexec,nosuid,loop,rw 1 1

更新:

根据 Bittylicious 的建议,我执行了命令,结果如下:

root@rescue:~# mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1
mdadm: /dev/sda1 is busy - skipping
mdadm: /dev/sdb1 is busy - skipping

然后我以为突袭已经完成了,所以我这样做了:

root@rescue:~# fsck /dev/md1
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/: recovering journal
Setting free inodes count to 9410644 (was 9410650)
Setting free blocks count to 35082532 (was 35082538)
/: clean, 190380/9601024 files, 3317196/38399728 blocks

更新 #2:

挂载结果如下:

root@rescue:~# mount
none on / type tmpfs (rw,relatime)
none on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
198.27.85.63:/home/pub/rescue.v7 on /nfs type nfs (ro,relatime,vers=3,rsize=8192,wsize=8192,namlen=255,hard,nolock,proto=udp,port=2049,timeo=11,retrans=3,sec=sys,local_lock=all,addr=198.27.85.63)
198.27.85.63:/home/pub/pro-power on /power type nfs (ro,nodev,relatime,vers=3,rsize=8192,wsize=8192,namlen=255,hard,nolock,proto=udp,port=2049,timeo=11,retrans=3,sec=sys,local_lock=all,addr=198.27.85.63)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,relatime,size=10240k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=807512k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1615020k)
rpc_pipefs on /nfs/var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)

以下是 fsck /dev/md3 的结果:

root@rescue:~# fsck /dev/md3
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/home: clean, 370962/50429952 files, 5187714/201693680 blocks

sda2 上的 mkswap:

root@rescue:~# mkswap /dev/sda2
Setting up swapspace version 1, size = 16382972 KiB
no label, UUID=b375ef52-9434-4298-be4a-38db9da029af

sdb2 上的 mkswap:

root@rescue:~# mkswap /dev/sdb2
Setting up swapspace version 1, size = 16382972 KiB
no label, UUID=f9318100-c18d-4987-b4e8-6bc58b0c8299

更新 #3:

我假设 Bittylicious 指的是 /boot/grub/grub.conf,在这种情况下:

default=0
timeout=5

        title CloudLinux Server (2.6.32-458.6.2.lve1.2.30.el6.x86_64)
        kernel /boot/vmlinuz-2.6.32-458.6.2.lve1.2.30.el6.x86_64 root=/dev/md1 $
        root (hd0,0)
        initrd /boot/initramfs-2.6.32-458.6.2.lve1.2.30.el6.x86_64.img
        title linux centos6_64
        kernel /boot/vmlinuz-2.6.32-358.18.1.el6.x86_64 root=/dev/md1  ro
        root (hd0,0)
        initrd /boot/initrd-2.6.32-358.18.1.el6.x86_64.img

我也尝试重建 initramfs。我遵循了以下教程: http://advancelinux.blogspot.com/2013/06/how-to-rebuild-initrd-or-initramfs-in.html

答案1

无法启动的原因有很多。我们都可以列出很多原因(我会的),但最终你一定有办法让你的提供商提供帮助。即使他们只是阅读控制台上的内容,也会提供大量关于如何修复它的线索。

我现在的建议是:

  • 你还没有设置 initramfs/initrd,但你正在指定它
  • 你已经指定了一个,但它不包含挂载根文件系统的相关驱动程序
  • 您正在使用的虚拟机管理程序无法以压缩格式加载 initrd/ramfs/kernel 映像

大多数非托管提供商确实提供支持,即使需要付费。我建议您为此付费,因为您将花费很长时间来猜测,而没有任何内核访问权限。

更新 1 - 现在您已添加了信息 fsck,这很简单。您正在尝试在 RAID 成员上运行 fsck - 这不起作用。您需要做的是先组装 RAID 阵列(然后可能在其上运行 fsck)。

你为什么要在 /dev/sda1 上运行 fsck?你可能需要执行如下操作:

mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1

(假设 sda1 和 sdb2 是您的 RAID 成员)

如果成功,那么您可以在 /dev/md1 上运行 fsck。您真正需要弄清楚的是为什么您的操作系统没有组装 RAID 阵列。我最好的猜测是它已降级,您需要将“bootdegraded”添加到内核选项中。

更新 2 - 让我们获取更多信息:

  1. 当您重新安装 GRUB 时,您是否知道 grub.cfg 或 boot.lst 文件的内容是什么,以便我们可以找出您的启动选项?

  2. 您是否尝试过重建 initramfs(update-initramfs -k all -u 只是为了开始)

相关内容