台式电脑部署xen虚拟化的各种问题
本打算用一台台式机做xen虚拟化,搞了一天搞得焦头烂额还是没搞定,中间遇到各种奇葩问题,这里mark一下
1.计划用三块2TB的SATA硬盘,然后装centos5 做虚拟化,结果忘记了centos5最多支持到ext3,ext3最多支持2TB,但是做了raid之后硬盘接近4G。
2.大于2T当然难不倒我,把分区换成GPT就行了,结果坑爹的技嘉主板做的raid进去之后竟然显示3块单独的2T硬盘,让我顿时不知所措,索性直接装centos6。
这里说下怎么转GPT
装机过程中 使用CTRL+ALT+F2 进入命令行模式
然后parted /dev/sax 选择你的分区
然后mktable
然后填 gpt 完了之后 q 退出 然后继续装 不行的话 重启继续装。
3.centos6装起来还是比较顺利的,技嘉的假raid出了创建磁盘创建了一个多小时外也没出什么问题,但是在我给系统update的时候,update中断了,现在想想应该是我的tty断了,然后几个包出了问题,然后是一堆依赖问题,死活update不了了,重启怕都起不起来。
不想重装,于是在网上找解决方法。
报错大概是这样的
Error: Package: glibc-common-2.12-1.80.el6.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3) Requires: glibc = 2.12-1.80.el6 Removing: glibc-2.12-1.80.el6.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3) glibc = 2.12-1.80.el6 Updated By: glibc-2.12-1.107.el6.x86_64 (base) glibc = 2.12-1.107.el6 You could try using –skip-broken to work around the problem ** Found 3 pre-existing rpmdb problem(s), ‘yum check’ output follows: glibc-common-2.12-1.107.el6.x86_64 is a duplicate with glibc-common-2.12-1.80.el6.x86_64 glibc-common-2.12-1.107.el6.x86_64 has missing requires of glibc = (‘0′, ‘2.12’, ‘1.107.el6′)
看上面的红字,按照提示,使用rpm -e 删除 removing的包,然后下载 updated by的包,由于是手动安装,安装过程中要跟着装依赖。
这里推荐个网站,可以下载各种linux安装包及源码,并可查看依赖 网址:http://pkgs.org/
requires就是依赖,都装完了就好了,然后就可以开心的update了。
4.然而事情并没有这么简单 centos6 装完xen内核后,服务器网络迟迟不通,插上显示器一开,卡在内核哪里了,报错:invalid magic number 0 其它内核还能进去,就新的不行。谷歌一查是因为tboot和uefi bios不兼容,要么禁用uefi 要么不装tboot 统一要求是重装系统,日了🐶了
很多人估计都在想tboot是什么玩意,什么时候装的,我也纳闷,谷歌一下,见下图
谁他妈能想到是这个玩意啊。
5.这些都折腾一遍后,终于可以装系统了,结果事实证明我还是太年轻了,后来装机的过程中,磁盘格式化总是失败,通过CTRL+ALT+F3 可以看到装机日志,每次基本都显示/dev/sdb 格式化失败, 刚开始我是拆了第二块硬盘,以为硬盘坏了,接着装结果还是第二块磁盘格式化失败,索性只装一块盘上,想着以后挂载到分区也一样结果,系统只给我显示一块盘,装完重启依然是一块盘,郁闷啊。
6.把之前的硬盘插上去,重启又识别到了,然后分区,因为大于大于2T,所以要使用parted 分区,下面说下分区方法
parted /dev/sda #选择给/dev/sdb分区 mklabel gpt #大于2T 要选择这个分区 mkpart primary 0 -1 #分一个主分区 quit #退出分区工具
然后格式化分区
mkfs.ext4 /dev/sdb1
然后挂载到对应目录
mount /dev/sdb1 /vm
最后升级/etc/fstab
先查看uuid
blkid
/dev/sdb1: UUID="b2710435-23de-4da4-9c90-6b5c0e3c60ee" TYPE="ext4"
vim /etc/fstab
UUID=f7b3af6f-efb4-4a16-b6ea-4e6ddce4ab3a / ext4 defaults 1 1 UUID=4D06-4E4C /boot/efi vfat umask=0077,shortname=winnt 0 0 UUID=9268a2ff-6d0c-4c5b-8705-145189bb4d6f /home ext4 defaults 1 2 UUID=d3e59f7e-fef6-43ba-b786-cf0c6644b031 swap swap defaults 0 0 UUID=b2710435-23de-4da4-9c90-6b5c0e3c60ee /vm ext4 defaults 1 3 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
完成之后,重启磁盘就挂载正常,现在应该可以开心的安装虚拟化了吧,结果还是太年轻,tboot更新内核后还是支持uefi
最终安装了在centos6官方支持的kvm下完成了虚拟化安装,我觉得如果是正常服务器的话应该不会有这个问题,或者是我的主板设置不对,消费级主板功能太多了,不如服务器主板简单好用啊。
之前我在自己的电脑上使用最新的fedroa是没有问题的,可能内核还是太老吧,总的来说红帽系个人用最好还是使用kvm或者VMware,最起码稳定,对桌面虚拟化兼容也好一点。
写这篇博客主要是为了防止自己以后再踩到这个坑,也希望可以帮到其他人。