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
無法啟動的原因有很多。我們都可以列出許多原因(我會),但歸根結底,您必須有某種方法可以讓您的提供者提供幫助。即使他們只是閱讀控制台上的內容,它也會為如何修復它提供大量線索。
我現在的建議是:
- 您尚未設置 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 - 讓我們獲取更多資訊:
- 當您重新安裝 GRUB 時,您是否知道 grub.cfg 或 boot.lst 文件的內容是什麼,以便我們可以找出您的引導選項?
- 您是否嘗試過重建您的 initramfs(update-initramfs -k all -u 只是為了開始)