由四条内存引起的事故
昨天新买的四条服务器内存到了,于是早上去安装一下。
很不幸的是,关机安装完内存条后,系统起不来。第一反应是内存没有插好。
拔下所有新装的内存,先试试能不能开机,结果不能。
系统一直卡在一个光标闪烁的状态。
由于一直就很想重做这个服务器的系统,当时装的时候,忘记做LVM了,
所以这次故障也懒得修了,直接开始重做系统。
花了2个小时,把基础系统做完,重启了几遍看看有没有什么问题,一切正常。
看到内存插满主板达到256G顶值后,心里美滋滋,心想这下可以大开杀戒了。
结果下午回到家,没安装几个服务,主机就挂了。
由于我的服务器电源连接在米家的电源开关上,所以我进行了远程重新断电上电操作。
通过米家可以看到机器自动启动成功了,但是一直连不上,怕是系统又进不去了。
折腾了半天没有成功后,不得不再回去看看是什么情况。
重新接上显示器后,发现跟早上的情况一个样,目测应该是硬盘有问题。打开 BIOS 看了下,果然
一共三块硬盘,只识别出来了两块,最关键的那块带这 grub 引导的硬盘没有识别出来。
考虑到新系统上了 LVM ,我这块没有识别出来的硬盘(金士顿)和另外一块东芝的做成了一个逻辑组,
所以在考虑能不能把金士顿这块从逻辑组里踢出去。
但是我重启引导进U盘里的系统后,发现并没有金士顿那个硬盘
有点慌!既然系统间歇性能启动起来,那看来硬盘坏的不严重。
估计重启几次,肯定会有一次能挂上。在重启了三四次后,终于检测出来了。
好,既然监测出来了,让我先理顺一下目前的情况。
1.当前是金士顿(/dev/sdb1
)和东芝(/dev/sdc1
)做了一个逻辑组 /dev/vssd
2.然后在 /dev/vssd
这个逻辑组上划分了两个逻辑卷 /dev/vssd/vboot
和 /dev/vssd/vmain
3.系统有两个分区,/
挂在 /dev/vssd/vmain
上,/boot
挂在 /dev/vssd/vboot
上。
尝试了挂载 /
和 /boot
,发现 /
挂载成功,/boot
挂载失败,提示磁盘有错误。
系统目前不超过 7G 大。
情况理顺完,我们的思路也就有了。
- 把
/dev/vssd/vmain
缩小到/dev/sdc1
的大小以内, - 从
/dev/vssd
中把/dev/vssd/vboot
删除, - 把
/dev/sdb1
这个pv
从/dev/vssd
逻辑组中删除,这个时候,逻辑组里就没有金士顿硬盘了, - 在逻辑组
/dev/vssd
中再新建一个/dev/vssd/vboot
逻辑卷, - 重新调整
/dev/vssd/vmain
的大小,让其把剩余所有的空间占有, - 重新挂在
/dev/vssd/vmain
和/dev/vssd/vboot
,在/dev/vssd/vboot
上安装内核, - 重新生成
fstab
- 重新安装
Grub
到/dev/sdc
上,并生成新的grub.cfg
存储到/dev/vssd/vboot
上。
开始实施。
1.缩小 /dev/vssd/vmain
,需要先监测才能缩小
w2fsck -f /dev/vssd/vmain
执行缩小,由于我的东芝是400多G,那么我只要缩小到400G内就好了,懒得计算,取了个整 300G
# 先缩小文件系统
resize2fs /dev/vssd/vmain 300G
# 再缩小逻辑卷
lvreduce -L 300G /dev/vssd/vmain
三步操作如下图
2.从 /dev/vssd
中把 /dev/vssd/vboot
删除,
lvremove /dev/vssd/vboot
3.从逻辑组中移除金士顿硬盘
vgreduce vssd /dev/sdb1
操作完可以看到逻辑组(VG)里只有一个 PV 了,并且 VG 的容量跟东芝的硬盘一样大了
4.新建 /dev/vssd/vboot
lvcreate -L 200M vssd -n vboot
5.扩容 /dev/vssd/vmain
# 注意这里参数是小写L
lvextend -l +100%FREE /dev/vssd/vmain
6.格式化 /dev/vssd/vboot
后,重新挂载
mkfs.ext2 /dev/vssd/vboot
mount /dev/vssd/vboot /mnt/boot
重新安装内核
pacstrap /mnt linux linux-firmware
7.生成新的 fstab
由于 /dev/vssd/vboot
是新创建的,所以原来分区的 UUID
也就不存在了,因此需要更新 fstab
,
否则启动的时候会找不到分区。(通过截图可以看到原来的 UUID
)
genfstab -U /mnt > /mnt/etc/fstab
8.重新安装 Grub ,生成新的 grub.cfg
# 进入chroot
arch-chroot /mnt
# 安装 grub 到 /dev/sdc
grub-install --target=i386-pc /dev/sdc
# 生成新的 grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
9.所有操作结束后,退出 chroot
,卸载所有已挂载分区,重启。
完美启动!!!!
ET碎碎念,每周一,晚六点一刻更新,欢迎订阅
---
感谢你的阅读,我是中文区见证人之一,欢迎通过 SteemConnect 来给我投票,或者打开 https://steemit.com/~witnesses/ 页面,输入 ety001 进行投票。
中文区的见证人目前有:
支持一下他们(按字母顺序),一人可以有30票:
Thank you for reading. I'm a witness. I would really appreciate your witness vote! You can vote by SteemConnect. Or open https://steemit.com/~witnesses page, input ety001 to vote.
Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!
厉害了👍
吃了吗?来一份新手村小卖部的美食吧!@teamcn-shop假如我的留言打扰到你,请回复“取消”。
你好鸭,ety001!
@cnbuddy给您叫了一份外卖!
由 @cherryzz 阿紫 迎着飓风 坐着火箭 给您送来
加拿大人民早餐伴侣
吃饱了吗?跟我猜拳吧! 石头,剪刀,布~
如果您对我的服务满意,请不要吝啬您的点赞~
@onepagex
一大串只看懂硬盘坏了