本文共 6532 字,大约阅读时间需要 21 分钟。
一、关于openstack安装的环境需求
1.yum源(网络yum源)yum 源必须要有repodata 作为索引,即有repodata目录才可以作为yum 源。创建repodata :#createrepo (命令执行后当前目录下就有了repodata目录)更新:createrepo --update (也可以删除repodata再重新创建)2.dns服务器3.时间服务器4.2台虚拟机(8G+6G)5.禁用selinuxvim /etc/selinux/configSELINUX=disabled6.禁用firewalldsystemctl stop firewalld systemctl disabled firewalld//该命令虽然停止了防火墙自身调用,但是当其他程序调用的时候他还是会启动systemctl mask firewalld //该命令会把firewalld服务的连接变成/dev/null ,别的程序调用他不会启动(当启用的时候就敲systemctl unmask firewalld命令)二、KVM虚拟机
1、虚拟化:x个物理资源成y个逻辑资源(就是一台物理机虚拟成n个虚拟机)2、虚拟化主要厂商及产品:VMware : VMware Workstation、vSphere(商业版软件 服务器版用esxi软件 终端用vcenter软件管理虚拟机)RedHat: KVM、RHEVCitrix: Xen3.KVM的组成:-- KVM:是linux内核的模块(可以通过lsmod命令查看),需要CPU的支持,采用硬件辅助虚拟化技术-- QEMU : 是一个虚拟化的仿真工具,完成对硬件的虚拟化支持,会模拟出其他的硬件(显卡声卡等)-- Libvirt : 是一个对虚拟化管理的接口和工具4.需要安装的软件-- qemu-kvm : 为kvm提供底层硬件仿真支持-- libvirt-dremon : libvirtd守护进程,管理虚拟机-- libvirt-client : 用户端软件,提供客户端管理命令-- libvirt-daemon-driver-qemu : libvirtd连接qemu的驱动5.虚拟机的组成
-- 一个xml文件(虚拟机配置声明文件,定义虚拟机的各种参数),默认在/etc/libvirt/qemu/下-- 一个磁盘镜像文件(虚拟机的硬盘,真机用一个很大的文件来充当虚拟机的硬盘,保存虚拟机的操作系统和文档数据),位置在/var/lib/libvirt/images/下磁盘镜像文件格式:raw和qcow2 qcow2是KVM默认的,占用空间小,支持压缩、后端盘复用和快照三、virsh 命令工具介绍
virsh命令进入交互模式,--help 产看命令帮助list (--all) //列出虚拟机nodeinfo //查看物理机的信息dominfo 虚拟机名 //查看虚拟机的信息net-list (--all) //查看虚拟交换机start | reboot | shutdown | destroy | autostart 虚拟机名 //运行|重启|关闭|强制关闭|开机自动运行 --连接自己的virsh管理器: # virsh 或# virsh -c qemu:///system--连接别人的virsh管理器:virsh -c qemu+ssh://176.233.3.17/systemnet-list //查看虚拟网络net-define vbr.xml //创建虚拟网络net-undefine vbr //删除虚拟网络net-start vbr //启动虚拟网络net-destroy vbr //停用虚拟网络net-edit vbr //修改vbr网络的配置四、自定义虚拟机
步骤:1.安装软件(参见二、4)2.搭建网络yum源光盘作为 yum 源 CentOS7-1708.iso (共9591包)#vim /etc/yum.repos.d/centos.repo[centos7]name=centos7baseurl=ftp://176.233.3.17/centosgpgcheck=0enabled=1:wq3.禁用selinux(参见一、5)
4.禁用firewalld(参见一、6)5.安装虚拟网桥#vim /etc/libvirt/qemu/network/vbr.xml<network><name>vbr</name> //vbr是虚拟交换机的名字<bridge name="vbr"/> //vbr是网卡的名字(写一样便于辨认)<forward mode="nat"/><ip address="192.168.1.254" netmask="255.255.255.0"><dhcp><range start="192.168.1.100" end="192.168.1.200"/></dhcp></ip></network>#virsh //进入虚拟机管理器#net-define vbr.xml //创建虚拟网络#net-start vbr //启动#net-autostart vbr //开机自启6.创建磁盘文件
#cd /var/lib/libvirt/images#qemu-img create -f qcow2 node.img 8G7.新建虚拟机
#virt-manager选择网络安装—>前进URL:ftp://176.233.3.17/centos (网络yum源的地址)—>前进RAM:2048 CPU:2 —>前进选择或创建自定义存储:管理—>选择node.img(步骤6中创建的镜像)—>选择卷—>前进选择网络:虚拟网络‘vbr’(步骤5中创建的网桥)—>完成语言选择English(由于创建的虚拟机是模板虚拟机,因此需要满足共性)安装分区:手动分区,选择标准分区,只添加一个根分区设置密码(此密码可用于以该虚拟机为模板创建的虚拟机的root密码)五、虚拟机模板制作
初始化刚安装好的系统:1.禁用selinux #vi /etc/selinux/configSELINUX=disabled2.网卡及配置文件设置
#vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0" //网卡的名字ONBOOT="yes" //开机是否启动NM_CONTROLLED="no" //拒绝接受NetworkManager服务的管理TYPE="Ethernet" //网卡设备 还有一种类型是bridge交换机BOOTPROTO="dhcp" //dhcp动态IP //r如果BOOTPROTO="static"则以下三项取消注释 #IPADDR="192.168.1.50" #PREFIX="24"#GATEWAY="192.168.1.254"3.停止并卸载防火墙与NetworkManager
systemctl stop firewalldsystemctl stop NetworkManageryum remove -y NetworkManager- firewalld- python-firewall4.重启虚拟机(重启后确保可以上网)
5.配置yum源#vi /etc/yum.repo/local.repo[local_repo]name=CentOS-$releasever - Basebaseurl="ftp://192.168.1.254/centos7"enabled=1gpgcheck=0:wq#yum -y install bash-completion //命令行自动补齐,重启生效6.验证数字签名
下载 RPM-GPG-KEY-CentOS-7 //包在yum源的文件夹里,也可scp到虚拟机里导入 rpm --import RPM-GPG-KEY-CentOS-7修改 local.repo gpgcheck=1 //开启数字验证使用 yum install lftp lrzsz 验证ps:lftp 的功能
--可以连自己的ftp: lftp 192.168.4.11--可以连对方的ftp: lftp sftp://192.168.4.12 -u roots表示ssh ,即使对方没开ftp,但开了ssh ,也可以在对方的ftp上操作7.禁用空路由
vim /etc/sysconfig/networkNOZEROCONF="yes"不禁用的话可能会在某种情况下影响计算机的通讯8.添加串口终端(可以console 虚拟机)
#vim /etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL="serial console"GRUB_SERIAL_COMMAND="serial --speed=115200"GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"GRUB_DISABLE_RECOVERY="true"GRUB_DISABLE_LINUX_UUID="true"GRUB_ENABLE_LINUX_LABEL="true":wq修改完之后创建引导文件
#grub2-mkconfig -o /boot/grub2/grub.cfg#beboot修改/etc/fstab ,把UUID改成系统设备名(用blkid命令查看uuid对应的磁盘设备)9.去除个性化信息
安装分区扩展软件#yum -y install cloud-utils-growpart设置第一次开机自动扩容根目录
#chmod 755 /etc/rc.local在 rc.local 里加入如下配置
###/usr/bin/growpart /dev/vda 1/usr/sbin/xfs_growfs //usr/bin/sed '/^###/,$d' -i /etc/rc.d/rc.local10.关闭虚拟机后执行信息清理工作(真机)
设置语言为英文 #LANG=en_US.UTF-8#virt-sysprep -d 虚拟机名11.删除虚拟机定义
#virsh undefine 虚拟机名六、快速创建虚拟机
创建 2 个虚拟机要求:虚拟机1 8G 内存2块网卡第一块网卡连接虚拟交换机 vbr第二块网卡连接虚拟交换机 private1设置静态 IP,默认网关 192.168.1.2542块硬盘 其中 / 的 vda1 要求 50G vdb 20G
虚拟机2
6G 内存2块网卡第一块网卡连接虚拟交换机 vbr第二块网卡连接虚拟交换机 private1设置静态 IP,默认网关 192.168.1.254要求与第一台虚拟主机的两个 IP 都能 ping 通硬盘/ 的 vda1 要求 50G1.开启虚拟网卡
#virsh net-start default #virsh net-autostart default//将所有的虚拟网卡开启并设置成开机自启动2.创建磁盘文件
#cd /var/lib/libvirt/images#qemu-img create -b node.img -f qcow2 node1.img 50G#qemu-img create -f qcow2 disk.img 20G3.更改虚拟机node1的配置文件
#virsh edit node1修改内存大小为8G:<memory unit='KiB'>8192000</memory><currentMemory unit='KiB'>8192000</currentMemory>添加第二块硬盘:(在原来disk后面添加)<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/libvirt/images/disk.img'/><target dev='vdb' bus='virtio'/></disk>添加网卡(在原来interface后面添加)<interface type='bridge'><source bridge='private1'/><model type='virtio'/></interface>4.启动虚拟机
#virsh start node1#virsh console node15.配置网卡IP
#cd /etc/sysconfig/network-scripts/配置eth0网卡IP#vim ipcfg-eth0DEVICE="eth0" #虚拟网卡的名字ONBOOT="yes" #在系统启动时是否启动这个网卡NM_CONTROLLED="no" #拒绝接受networkmanager的管理TYPE="Ethernet" #表示它是一个网卡(Bridge表示是一个交换机)BOOTPROTO="none" #如何配置IP地址=static(静态IP),dhcp(自动分配,需要将下面三行注释掉),none(不处理)IPADDR="192.168.1.100" #IP地址PREFIX="24" #子网掩玛GATEWAY="192.168.1.254" #默认网关:wq配置eth1网卡
#cp ipcfg-eth0 ipcfg-eth1#vim pcfg-eth1DEVICE="eth1" ONBOOT="yes" NM_CONTROLLED="no"TYPE="Ethernet"BOOTPROTO="none" IPADDR="192.168.4.100" PREFIX="24" :wq重启配置文件
#systemctl restart network6.DNS服务器
(真机):#yum -y install bind bind-chroot#vim /etc/named.conflisten-on port 53 { 192.168.1.254; };allow-query { any; };forwarders { 202.106.196.115; };dnssec-enable no;dnssec-validation no;:wq7.时间服务器
#yum install -y chrony (真机):#vim /etc/chrony.confserver ntp1.aliyun.com iburstbindacqaddress 0.0.0.0allow 0/0(虚拟机):
#yum install -y chrony #vim /etc/chrony.confserver 192.168.1.254 iburst检查是否同步成功:chronyc sources -v转载于:https://blog.51cto.com/13460306/2160640