实验室阶段性小结2

来源:互联网 发布:淘宝客服要做什么 编辑:程序博客网 时间:2024/05/16 07:55


这一阶段主要完成服务器(debian系统)上kvm的安装配置。比较崩溃的一点是不能连接外网,所有的包都需要自己一个一个的解析依赖关系自己手动下载。apt-get方式不能使用。
这里找到了debian官网6.0.4(squeeze)版本软件包下载地址:https://packages.debian.org/squeeze/allpackages
所有的包都是按照字母顺序排序,基本所需要的包都能在上面找到。这里提供的基本都是deb包,可以通过命令dpkg –i xxxxx.deb 来进行安装。安装过程中如果还需要其他的依赖包,会提示错误并给出依赖包名字,可以手动下载依赖包同样的方式进行安装。
可以用 dpkg –l | grep xxx 来查看此种方式安装的包的信息。要删除该方式安装的软件包可以用dpkg -r packetname 或者 dpkg -P packname 前者只删除软件不删除配置信息,后者连同配置信息一块彻底删除。
因为需要随时向服务器传输文件,scp命令在windows下面又不好用,所以这里安装lrzsz这个软件。上面网址上找到这个包下载并安装在服务器上,然后在windows上使用Xshell这个软件即可。Windows上建立远程ssh时候可以在左侧ZMODEM处设定上传下载默认文件夹。然后远程连接服务器,进入到选定的目录中
rz
然后会打开文件选择提示框,可以选择文件然后确定,这时文件就传上去了。
sz filename
文件就会下载到windows客户端设置的目录下面。
然后开始进入kvm的正式安装
这里还是要自己下载源码包安装。
自己编译包,从sourceforge上下载kvm-qemu的源码包,解压缩,这里选择版本是0.12.5 。 http://sourceforge.net/projects/kvm/files/
注意:debian解压缩命令要根据压缩包格式有不同。
———————————————
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
———————————————
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
———————————————
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压:bzip2 -d FileName.bz
———————————————
.tar.bz
解压:tar jxvf FileName.tar.bz
———————————————
.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
1)安装kvm时依赖两个deb包,可以从debian.org下载。两个包分别为:
zlib1g-dev 和libpci-dev
下载deb包后,执行dpkg –i ****.deb 即可
本地安装
a) 将源码放入某个目录,如/home/cuilei/qemu下面,然后解压缩tar –xzvf ./qemu-0.12.5.tar.gz
b) 在/home/cuilei下面创建/home/cuilei/qemubin目录,该目录主要用来放置qemu的可执行文件。
c) 进入kvm-qemu-0.12.5的目录,依次执行
1) ./configure –prefix=/home/cuilei/qemubin
2) make
3) make install
d) 在/home/cuilei/qemubin/bin中执行./qemu-system-x86_64 –hda ./vm.img启动虚拟机
注:若./configure时不指定安装目录,则安装后的默认路径在/usr/local/bin/下。修改环境变量文件/etc/profile 将在PATH=***中加入”/usr/local/bin:” 即可执行qemu-img等命令。
这里make时提示以来gcc所以安装失败。下载gcc安装。刚开始下载gcc 4.5提示需要gcc 4.4,安装gcc 4.4又提示gcc 4.6 break,所以stop。这里通过 dpkg -l | grep gcc 查看现有gcc安装详情,发现有个gcc 4.6 ,通多dpkg -P gcc-4.6 彻底删除该包,并把多余的其他版本gcc全部删除,解决该问题,。
我们安装kvm之前先要确定一下机器是否支持硬件虚拟化。方法:
egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo
如果显示的信息有vmx或svm字样,表示可以支持。
Debian 6.0.4已经集成了kvm模块,我们可以配置启动该模块。具体的过程:
(1) 每次手动加载该模块:
modprobe kvm
modprobe kvm-intel
 //如果cpu是intel
modprobe kvm-amd //如果cpu是amd
(2) 或者可以修改配置文件,在开机启动项里设置自动加载该模块。
打开文件/etc/modules,在其中加入想要加载的模块名kvm和kvm-intel。
重启之后就会自动加载了。
如果想重新编译kvm模块,可以按照下面方法。
下载kvm-kmod-xxx.tar.gz 并解压进入到解压后的文件目录中。
./configure –kerneldir=/lib/modules/****/source 注意**为你自己编译的内核模块
make
make install

在kvm-kmod-xxx/kvm/kernel/x86/ 下可以看到有kvm.ko,kvm-intel.ko模块,使用insmod 加载模块即可。(先用lsmod | grep kvm查看是否已有模块,若有,则rmmod kvm卸载已有模块)insmod kvm.ko lsmod | grep kvm
对kvm代码的修改,可以通过该方式编译, 使其生效。
注意:这里在进行的时候configure总是提示找不到内核版本,查看configure发现里面kerneldir=后面有个build文件夹,但是根本找不到。下载并安装linux-headers以及linux-sources都没有产生build以及sources文件夹。修改configure文件中的路径依然提示相同错误。只到现在也没有搞定,只好启用原系统集成的kvm模块了。
后期重新编译内核,然后就发现了build以及source文件夹,然后这时候设置路径kvm模块就编译成功。linux内核的编译见后面单独介绍。
折腾之后kvm算是基本安装完成,这时可以自己从新创建一个虚拟系统或者利用原来创建好的系统img镜像直接打开。
如果自己从新创建,首先生成一个虚拟盘:
cd到qemu-img所在的目录下,然后:
./qemu-img create -f qcow2 /images/vm.img 5G
创建后可以通过vnc远程虚拟机,前提是服务器安装一个vnc4server软件(vnc的具体使用请见后面番外篇),并且进行ip配置:
vim /etc/network/interfaces
修改内容为:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 172.16.21.120
netmask 255.255.0.0
gateway 172.16.0.1

bridge_ports eth0
bridge_hello 2
bridge_maxage 12
bridge_fd 0
bridge_stp off

其中:
bridge_fd is the bridge forward delay time, in seconds, default 15.
bridge_hello is the bridge hello time, in seconds, default 2.
bridge_maxage is the bridge’s maximum message time, in seconds, default is 20.
bridge_stp controls the spanning tree protocol, on or off. Default is off, and is recommended to stay that way.
重启网卡生效。
然后对于从新安装可以:
cd 到qemu-system-x86_64所在目录,
./qemu-system-x86_64 -m 2048 -drive file=/images/vm.img -cdrom /home/iiebc/xp.iso -vnc 172.16.21.120:2 –boot d
此时打开windows的vnc客户端vncviewer,连接172.16.21.120:2就可以看到图形界面的安装过程了。安装完成后关机,然后./qemu-system-x86_64 -m 2048 -drive file=/images/vm.img -cdrom /home/iiebc/xp.iso -vnc 172.16.21.120:2 –boot c
到此从新安装完成。(IP后端口可以自己随意指定)
如果是打开已有的img则是先cd到qemu-system-x86_64目录,然后执行:
./qemu-system-x86_64 -had /images/ubuntu.img -vnc 172.16.21.120:3
此时windows打开vncviewer并连接172.16.21.120:3即可看到安装好的该虚拟系统。
番外篇:vnc使用详解
下载并安装vnc4server,然后执行vncserver会提示设置密码,根据提示设置好即可。vncserver默认1端口。这里注意可能windows客户端连接打开之后不显示完整桌面,需要修改一下配置文件:
先关闭vncserver:
vncserver -kill :1
然后修改配置文件:
vi ~/.vnc/xstartup # 编辑vnc的启动界面
配置文件如下:
xsetroot -solid grey
x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
#x-window-manager &
# Fix to make GNOME work
#export XKL_XMODMAP_DISABLE=1
#/etc/X11/Xsession
gnome-session &

配置完成后启动vnc服务 命令为:
vncserver -geometry 800×600 :1 #分辨率是800*600
更多vnc资料请见:
http://www.linuxidc.com/Linux/2012-11/74076.htm
http://blog.sina.com.cn/s/blog_49c306b201011had.html
番外篇:linux内核编译
a)确保gcc make libncurses5 和 libncurses5-dev 已经安装,若未安装,则用apt-get install **安装即可
b)从http://www.kernel.org/pub/linux/kernel/v2.6/ 下载源码包,现在实验室的版本一般为linux-2.6.26.2.tar.gz
在终端下执行下面命令
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.2.tar.gz /usr/src 
c) cd /usr/src 进入该目录,执行 tar –xf ./linux-2.6.26.2.tar.gz 解压包
d) cd /usr/src/linux-2.6.26.2 进入该目录
或者apt-get install linux-source-2.6.26.2 下载实验室源上的包
e) 开始准备内核编译
i. make mrproper
ii. make menuconfig 默认配置即可,选择exit
iii. make clean 删除以前的模块和文件
iv. make 编译内核。等待时间较长,约20分钟
v. make bzImage 生成内核文件,默认在/usr/src/arch/x86/boot/bzImage。
vi. make modules 编译模块
vii. make modules_install 安装编译的模块,完成后可以看到/lib/modules/目录下有新生成的模块目录 2.6.26.2,可将其重命名为***。(注:1: 执行该命令前,先将/lib/modules/2.6.26.2-686目录做备份)
viii. make install 在/boot/下面会有 vmlinuz-2.6.26.2 system.map-2.6.26.2 configure-2.6.26.2 生成
f) 配置启动文件
i. 执行 mkinitramfs –o /boot/initrd.img-*** /lib/modules/2.6.26.2(***)
来创建initrd.img; 这样在/boot目录下可以看到由新内核生成的四个文件,检查新生成的这四个文件,务必使其与原四个文件不同(看日期 大小即可)。
四个文件为: initrd.img-*** system.map-*** vmlinux-*** 还有个config文件暂不处理 –
*** 即为2.6.26.2 – 安装的内核版本号
ii. 修改启动配置文件 vim /boot/grub/grub.cfg (debian下,也可能在/boot/grub/menu.list) 找到 menuentry 开始的文本段 ,编写如下: (不编辑该文本亦可)
menuentry “Debian linux 2.6.26-2 ***” {
set root=(hd0,1) 与上面的一致即可
search –fs-uuid –set ********(保持不变)
linux /boot/vmlinuz-*** root=/dev/sda1 ro 与上面的一致即可
initrd /boot/initrd.img-***
} 保存
如果是menu.list,则稍有不同。
如果没有grub,则需按照apt-get install grub 即可
在终端中执行update-grub 。 重启机器,如果人品高,应该在启动项看到自己编译的系统项 “linux 2-6.26-2 ***”

0 0
原创粉丝点击