Linux

CloudLinux 伺服器無法啟動

  • October 9, 2013

我有一個執行 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

無法啟動的原因有很多。我們都可以列出許多原因(我會),但歸根結底,您必須有某種方法可以讓您的提供者提供幫助。即使他們只是閱讀控制台上的內容,它也會為如何修復它提供大量線索。

我現在的建議是:

  • 您尚未設置 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 只是為了開始)

引用自:https://serverfault.com/questions/544705