分类: LINUX
2009-08-09 15:49:45
二、CentOS 5.2下安装Xen3.3
1.创建文件/etc/yum.repos.d/gitco.repo,内容如下:
# Name: RPM Repository for Red Hat Enterprise 5 ‐ gitco
[gitco]
name = Red Hat Enterprise $releasever ‐ gitco
baseurl =
enabled = 1
protect = 0
gpgcheck = 0
2.卸载旧版本文件,使用如下命令:
yum groupremove Virtualization
3.安装相关包,使用如下命令:
yum groupinstall ‐y Virtualization
4.使用xm dmesg命令查看Xen是否安装成功:
\ \/ /___ _ __ |___ / |___ / / _ \
\ // _ \ '_ \ |_ \ |_ \| | | |
/ \ __/ | | | ___) | ___) | |_| |
/_/\_\___|_| |_| |____(_)____(_)___/
(XEN) Xen version 3.3.0 (
This e‐mail address is being protected from spambots. You need
JavaScript enabled to view it ) (gcc version 4.1.2 20071124 (Red Hat
4.1.2‐42)) Tue Sep 9 20:18:14 CEST 2008
(XEN) Latest ChangeSet: unavailable
(XEN) Command line:
(XEN) Video information:
(XEN) VGA is text mode 80x25, font 8x16
(XEN) VBE/DDC methods: V2; EDID transfer time: 2 seconds
(XEN) Disc information:
(XEN) Found 1 MBR signatures
(XEN) Found 1 EDD information structures
(XEN) Xen‐e820 RAM map:
三、在Xen3.3中安装虚拟CentOS
1.虚拟系统的安装 可以从网络安装(受速度的限制会很慢),也可以从镜像安装(不知道是否支持光盘安装),我们采用从镜像的ISO安装。
2.在网站上下载CentOS的镜像,保存到宿主机的一个制定目录:/root /ISO /CentOS5.2.iso
3.用命令 dd if=/dev/zero of=~/vm/vm1.img bs=1k seek=15M count=1 创建一个磁盘镜像,名字为vm1.img,该镜像会被虚拟机当硬盘使用,其大小为15G。该命令创建的磁盘大小会随着其内内容的增加而变化。
4.创建一个该虚拟系统对应的配置文件,该文件创建位置为~/vm/vm1.cfg,该文件用来设置虚拟系统的启动、网络、内存、CPU个数等。实例说明如下:
1. im
port os, re
2. ar
ch = os.uname()[4]
3. if
re.search('64', arch):
4.
arch_libdir = 'lib64'
5. el
se:
6.
arch_libdir = 'lib'
7. #
Kernel image file.
8. ke
rnel = "/usr/lib/xen/boot/hvmloader"
9. #
The domain build function. HVM domain uses 'hvm'.
10. bu
ilder='hvm'
11. #
Initial memory allocation (in megabytes) for the new domain.
12. #
13. #
WARNING: Creating a domain with insufficient memory may cause out of
14. #
memory errors. The domain needs enough memory to boot kernel
15. #
and modules. Allocating less than 32MBs is not recommended.
16. #内存大小设置为
512M
17. me
mory = 512
18. #A
name for your domain. All domains must have different names.
19. #虚拟机的名字为
vm1
20. na
me = "vm1"
21. #
The number of cpus guest platform. has, default=1
22. #
虚拟CPU的个数为1
23. vc
pus=1
24. #
Optionally define mac and/or bridge for the network interfaces.
25. #
MACs are not same for VMs.
26. vi
f = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ]
27. #
type=ioemu specify the NIC is an ioemu device not netfront
28. #v
if = [ 'type=ioemu, bridge=xenbr0' ]
29. #网卡使用
eth0物理网卡
30. #v
if = [ 'type=ioemu, bridge=eth0' ]
31. #
Define the disk devices you want the domain to have access to, and
32. #
what you want them accessible as.
33. #
Each disk entry is of the form. phy:UNAME,DEV,MODE
34. #
where UNAME is the device, DEV is the device name the domain will see,
35. #
and MODE is r for read-only, w for read-write.
36. #磁盘镜像文件使
用file:/root/vm/vm1.img,同时把file: /root/ISO/CentOS5.2.iso当作光驱使用。
37. di
sk = [ 'file:/root/vm/vm1.img,hda,w', 'file:/root/ISO/CentOS5.2.iso’]
38. #
Device Model to be used
39. de
vice_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
40. #
boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
41. # default:
hard disk, cd-rom, floppy(默认顺序)
42. #b
oot="cda"
43. #设置为从光驱启
动(首次安装时选择光驱启动)
44. bo
ot="d"
45. #
enable SDL library for graphics, default = 0
46. sd
l=0
47. #
enable OpenGL for texture rendering inside the SDL window, default = 1
48. #
valid only if sdl is enabled.
49. op
engl=1
50. #
enable VNC library for graphics, default = 1
51. #启动后通过
vnc连接访问其图形界面
52. vn
c=1
53. #
address that should be listened on for the VNC server if vnc is set.
54. #
default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
55. #允许任何
IP使用vnc服务
56. vn
clisten="0.0.0.0"
57. #
set VNC display number, default = domid
58. #v
ncdisplay=1
59. #
try to find an unused port for the VNC server, default = 1
60. #v
ncunused=1
61. #
set password for domain's VNC console
62. #
default is depents on vncpasswd in xend-config.sxp
63. #没有设置
vnc密码
64. vn
cpasswd=''
65. #
enable stdvga, default = 0 (use cirrus logic device model)
66. st
dvga=0
67. #
serial port re-direct to pty deivce, /dev/pts/n
68. #
then xm console or minicom can connect
69. se
rial='pty'
5.
使用命令sudo xm create ~/vm/vm1.cfg 启动虚拟机。此时通过终端命令virt‐manager
查看虚拟系统的状态,双击对应的虚拟机后通过console 可以看到虚拟系统的安装界面,或者直接通过终端命令 xm console
vm1来查看启动的虚拟系统。
6.
接下来就和物理机上安装CentOS一样安装了。
7.
安装好虚拟系统后。将vm1.cfg文件改成从硬盘启动,进入系统后对vm1进行网络配置:首先用图形界面配置好IP、Gateway、
DNS(此处需要注意设置的IP必须和宿主机的IP在同一网段)等,激活网卡(eth0)。然后禁用掉SELinux服务(该服务是基于域模型的高级安全
服务,通常不需要这么高的安全性),最后修改/etc/sysconfig/iptables文件,在该文件中加上两行:
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 53 ‐j ACCEPT
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m udp ‐p udp ‐‐dport 53 ‐j ACCEPT
8.
以打开53号端口,使虚拟机能够上网。此时虚拟系统的网络配置工作已经全部完成。重新启动虚拟系统。
9.
如果安装多个虚拟机,将上面的vm1.img文件和vm1.cfg文件拷贝到另一个文件夹如~/vm/vm2/
下,然后分别改名为vm2.img和vm2.cfg。对vm2.cfg稍做修改即可:包括系统名、安装目录、mac地址几项,最后用命令sudo xm
create ~/vm/vm2.cfg 启动新建的虚拟机。
四、远程访问虚拟系统。
客户端通过Xmanager软件中的Xbrowser来远程登录虚拟机。该软件支持xdmcp传输,速度快,易于操作。
服务器端设置
1.修改/etc/gdm/custom.conf,允许使用xdmcp。
[xdmcp]
Enable=1
如果需要root用户也能通过XDMCP远程登录,可添加
[security]
AllowRemoteRoot=true
DisallowTCP=false
2.打开防火墙设置
打开XDMCP的端口:UDP 177
打开TCP 6000到6010端口
可直接修改/etc/sysconfig/iptables
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m udp ‐p udp ‐‐dport 177 ‐j ACCEPT
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 6000:6010 –j ACCEPT
然后重启iptables:/etc/init.d/iptables restart
客户端设置
客户端安装好Xmanager后,打开Xbrowser服务,输入需要访问的虚拟系统的IP即可。
五、FTP的配置
使用gssftp服务
1.
设置服务启动:在终端中输入setup,弹出窗口中选择系统服务项,选中gssftp服务,并使vsftp服务处于非选中状态。
2.
编辑/etc/xinetd.d/下的gssftp配置文件:
# default: off
# description: The kerberized FTP server accepts FTP connections
# that can be authenticated with Kerberos 5.
service ftp
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/ftpd
server_args = ‐l ‐a
log_on_failure += USERID
}
将上面的:
disable = yes 改为 disable =no
server_args = ‐l ‐a 改为 server_args = ‐l
其中表示使用Kerberos 5验证机制,而一般的ftp是不支持该验证机制的。
3.
关掉vsftp服务,同时重新启动gssftp服务,使用命令service vsftpd stop、 service xinetd restart。
4.
在/etc/sysconfig/iptables文件中加上一行:
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 20 ‐j ACCEPT
并且注释掉:
#‐A RH‐Firewall‐1‐INPUT ‐j REJECT ‐‐reject‐with icmp‐host‐prohibited
5.
重启iptables:/etc/init.d/iptables restart。
使用vsftp服务
1.
设置服务启动:在终端中输入setup,弹出窗口中选择系统服务项,选中vsftp服务,并使gssftp服务处于非选中状态。
2.
若允许root帐户进行ftp操作,需修改文件/etc /vsftpd /ftpusers.txt及/etc /vsftpd /user_list.txt :将root注释掉。
3.
关掉gssftp服务(/etc/xinetd.d/gssftp.txt中disable = yes),同时启动vsftp服务,使用命令service xinetd restart 、service vsftpd start。
4.
在/etc/sysconfig/iptables文件中加上一行:
‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 20 ‐j ACCEPT
并且注释掉:
#‐A RH‐Firewall‐1‐INPUT ‐j REJECT ‐‐reject‐with icmp‐host‐prohibited
5.
重启iptables:/etc/init.d/iptables restart。
-------------by Daivd Liu