首页 > 代码库 > 阿里云EC2+QEMU虚拟机+ROS完全教程!

阿里云EC2+QEMU虚拟机+ROS完全教程!

---恢复内容开始---

1、安装centos6.5 x64

同时记录,当前centos分配得到的IP,子网掩码,网关,以及MAC!!!
查看IP、mac命令ip add
查看网关命令cat /etc/sysconfig/network-scripts/route-eth1
或者cat /etc/sysconfig/network
如果ECS是VPC的专有网络工作模式,那么只有eth0网卡,一般IP是172.33.0.1/24,网关是172.33.0.253,设置eth0和虚拟机的网卡打成桥br0,记录eth0的mac,将虚拟机的网卡设置为172.33.0.1以及mac。 
查看网关,用命令route 

一共记录内网外网
有2个IP,2个网关,2个MAC,2个子网 
2、安装环境软件: 
yum -y install lrzsz
然后将ROS的ISO上传到centos里去。

for oldboy in `chkconfig --list |grep "3:on"|awk ‘{print $1}‘|grep -vE "crond|network|sshd|rsyslog"`;do chkconfig $oldboy off;done 
yum -y install qemu-kvm libvirt python-virtinst bridge-utils
yum -y groupinstall "Virtualization" "Virtualization Client"
yum -y install avahi dmidecode
yum -y install tunctl
yum -y install xorg-x11-drv-evdev
yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v

总结下:
yum -y install qemu-kvm libvirt python-virtinst bridge-utils avahi dmidecode tunctl xorg-x11-drv-evdev kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v

如果虚拟化服务启动不起来,/etc/init.d/libvirtd restart

启动的时候报错如下:
Starting libvirtd daemon: libvirtd: relocation error: libvirtd: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference [FAILED]

解决办法:

yum upgrade device-mapper-libs 
 
yum -y groupinstall "Virtualization" "Virtualization Client" "Desktop" "X Window System" "Chinese Support"
3、安装桌面:
yum -y groupinstall "Desktop"
yum -y groupinstall "X Window System"
yum -y groupinstall "Chinese Support"
4、三个命令执行完后,将默认的3,修改启动5等级
vi /etc/inittab
id:5:initdefault:

chkconfig --level 35 haldaemon on

chkconfig --level 35 messagebus on  


涉及到桥网卡的时候一定要关闭NetworkManager,只要关闭NetworkManager问题就解决了。 
chkconfig NetworkManager off 
5、修改内核参数
vi /etc/sysctl.conf
修改以下
net.ipv4.ip_forward = 1
立即生效,生效之前运行命令modprobe bridge(挂载桥模块,否则会造成error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key报错)
sysctl -p
6、重启后,进入阿里云控制台,进入root命令行界面,进入xwindows
startx
7、在系统桌面里,这个时候键盘鼠标无法使用!
(1)、安装 evdev
yum install xorg-x11-drv-evdev 
(2)、生成/etc/X11/xorg.conf
这个文件默认是没有的,要通过Xorg -configure 命令生成一个xorg.conf.new,
(如果你运行的提示提示如下错误:
Xorg -configure
(EE) 
Fatal server error:
(EE) Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.
 
那么你需要使用命令ps aux | grep `cat /tmp/.X0-lock`,查对应的xwindows的pid,并kill 这个id。
生成的文件默认路径是/root/xorg.conf.new。
然后把这个文件拷贝到/etc/X11/,并且命名为xorg.conf 
cp /root/xorg.conf.new /etc/X11/xorg.conf
(3)、修改/etc/X11/xorg.conf,修改配置鼠标和键盘的驱动为 evdev 就可以了,具体配置如下: 
Section "InputDevice"
Identifier "Keyboard0"
Driver "evdev"
Option "Device" "/dev/input/event3"
EndSection
 
Section "InputDevice"
Identifier "Mouse0"
Driver "evdev"
Option "Device" "/dev/input/event5"
Option "Mode" "Absolute"
EndSection 
如果执行以上的操作重启系统还是无法使用键盘。那么执行如下两条命令。

chkconfig --level 35 haldaemon on

chkconfig --level 35 messagebus on 
8、上面都配置完后,再重启系统。现在就可以到阿里云后台VNC里面管理终端
将常用的三个程序都拖到桌面上来。
 技术分享
9、目前eth0为内网网卡,eth1为外网网卡,br0为桥网卡,网卡配置如下
cat /etc/sysconfig/network-scripts/ifcfg-eth1,MAC地址随便写个,但是要和桥一样,不能原有的eth1的MAC一样!!!
DEVICE=eth1
ONBOOT=yes
#BOOTPROTO=static
#TYPE=Ethernet
MACADDR=78:E7:D1:5F:D7:7C
BRIDGE=br0
 
cat /etc/sysconfig/network-scripts/ifcfg-br0,IP地址随便写个
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.150.200
NETMASK=255.255.255.0
TYPE=Bridge


brctl show br0                      # 查看虚拟网桥列表
brctl showstp br0                   # 查看br0的各接口信息

然后重启网卡,查看配置是否生效
/etc/init.d/network restart
 
这些,在网络服务没有重启前,都可以在ssh上操作,否则只能在阿里云里面操作了
10、现在开始新建虚拟机操作
(1)name随便起一个,选择使用ISO安装系统
(2)选择ROS的ISO,OS TYPE和version就用默认generic
(3)内存使用适合的256M之类
(4)空间使用默认的8G空间
(5)到最后一步!!!需要修改网卡的MAC,点击Advanced options。
选择使用的网卡为eth1(桥br0)
选择set网卡的MAC,为第一步抄的MAC地址!!!
其他为默认,然后会跳一个窗口出来开始安装系统!!!
 
11、ROS安装以及后续,这里就不说明了。
 
12、如果centos系统重启,有几个需要注意的!
ROS会自动随着系统启动而启动的,
但是如果你想进centos的桌面,必须登录阿里云的控制台,然后发送远程命令,选择CTRL+ALT+F2,进入命令行,输入root密码,最后startx进入系统桌面

13、ECS Linux CentOS 6.5安装桌面环境后桌面环境无法正常启动

ECS Linux CentOS 6.5系统中安装了桌面环境(Gnome或KDE)后,发现桌面环境无法正常启动,出现如下错误提示:

 

 

"You are currently trying to run as the root super user. The super user is a specialized account that is not designed to run a normal user session. Various progra?ms will not function properly, and actions performed under this account can cause unrecoverable damage to the operating system."

 

技术分享

 

该问题是有桌面环境所依赖的相关服务没有启动。

 

使用如下指令将相关服务设置为自动启动后,再重启系统即可:

 

chkconfig --level 35 haldaemon on

chkconfig --level 35 messagebus on

 

---恢复内容结束---

阿里云EC2+QEMU虚拟机+ROS完全教程!