Centos7下如何搭建KVM虚拟机

Centos7下如何搭建KVM虚拟机,第1张

PRE-INSTALL

=============================================================

kvm相关安装包及其作用

qemu-kvm 主要的KVM程序包

python-virtinst 创建虚拟机所需要的命令行工具和程序库

virt-manager GUI虚拟机管理工具

virt-top 虚拟机统计命令

virt-viewer GUI连接程序,连接到已配置好的虚拟机

libvirt C语言工具包,提供libvirt服务

libvirt-client 为虚拟客户机提供的C语言工具包

virt-install 基于libvirt服务的虚拟机创建命令

bridge-utils 创建和管理桥接设备的工具

==========================================

1确定机器有VT

终端输入命令:

cat /proc/cpuinfo |grep vmx #intel cpu

cat /proc/cpuinfo |grpe svm # amd cpu

如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。

2确保BIOS里开启VT: Intel(R) Virtualization Tech [Enabled] 使用如下命令

lsmod | grep kvm

modprobe kvm-intel

3桥接网络

a、安装bridge-utils ,用来管理网桥的工具brctl

yum -y install bridge-utils

安装完之后systemctl restart network重启下网络

b、创建ifcfg-br0文件,输入下面的内容,修改红色部分为真实相关环境。

TYPE="Bridge"

BOOTPROTO="static"

DEFROUTE="yes"

PEERDNS="yes"

PEERROUTES="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_PEERDNS="yes"

IPV6_PEERROUTES="yes"

IPV6_PRIVACY="no"

IPV6_FAILURE_FATAL="no"

STP="yes"

DELAY="0"

NAME="br0"

DEVICE="br0"

ONBOOT="yes"

IPADDR="1721610215" #要桥接的网卡上的IP

PREFIX="16"

GATEWAY="17216111"

DNS1="8844"

DOMAIN="ANSkvm"

c、修改要桥接的网卡配置文件,记得备份下

#TYPE="Ethernet"

#BOOTPROTO="static"

#DEFROUTE="yes"

#PEERDNS="yes"

#PEERROUTES="yes"

#IPV4_FAILURE_FATAL="no"

#IPV6INIT="yes"

#IPV6_AUTOCONF="yes"

#IPV6_DEFROUTE="yes"

#IPV6_PEERDNS="yes"

#IPV6_PEERROUTES="yes"

#IPV6_PRIVACY="no"

#IPV6_FAILURE_FATAL="no"

NAME="eno16777736"

UUID="dad441c6-d806-4b24-98f2-46e606a83288"

DEVICE="eno16777736"

ONBOOT="yes"

#IPADDR="1721610215"

#PREFIX="16"

#GATEWAY="17216111"

#DNS1="8844"

#DOMAIN="anskvm"

BRIDGE="br0"

d、重启网络,并查看网桥状态

systemctl restart network

brctl show

4、安装kvm

复制代码 代码如下:

yum -y install libcanberra-gtk2 qemu-kvmx86_64 qemu-kvm-toolsx86_64 libvirtx86_64 libvirt-cimx86_64 libvirt-clientx86_64 libvirt-javanoarch libvirt-pythonx86_64 libiscsi-170-5el6x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

5、安装x-windows,使用图形界面管理虚拟机

yum groupinstall "X Window System"

6、安装中文字符,解决界面乱码问题

yum install dejavu-lgc-sans-fonts

yum groupinstall "Fonts" -y

7、启用libvirt

systemctl start libvirtd

systemctl enable libvirtd

8、使用virt-manager管理kvm

本地需要安装xmanager和xshell工具 ,并使用xshell建立连接时勾选x11转移。

 9 上传ISO或者qcow2文件到/var/lib/libvirt/images #(该目录为KVM的镜像仓库)

使用xshell(使用步骤8进行连接)连接到主机之后,使用virt-manager进行创建虚拟机,需要在安装前进行配置,否则安装过程中键盘和鼠标没法使用。

但是,据最近一次,国外科技网站w3techs的数据显示,截止到2010年7月28日,CentOS以高达316%的份额占据了Linux Web服务器的榜首,第二和第三分别是Debian和Red Hat。也就是说,在每十个基于Linux的Web服务器当中,就有三个CentOS,两个半Debian和一个半RHEL。

   2009年10月-2010年7月Linux Web服务器市场份额(W3Techs统计)

虽然说,CentOS并不算是一个流行的Linux发行版,在各种热门Linux发行版的排行上都没什么特别好的排名;CentOS也是一个丝毫没有个性的发行版——它根本就是和Red Hat企业级Linux一模一样的。虽然如此,但是在作为Web服务器运行的Linux当中,CentOS却是毫无悬念的No 1。

CentOS为何会如此受用呢?

首先,应该是“Cost(成本)”的原因。既然,CentOS发行版和Red Hat企业级Linux几乎是一模一样的,那么,如果在没有特别需求的情况下,为何不用免费的CentOS呢?况且在美国,RedHat的价格大约是每个服务器每年1000美元,而在国内,大规模的企业,价格更是到了每台服务器每年上万甚至数十万元之间,不是谁都愿意承担这笔费用的。

其次,是由于CentOS在性能和功能等各方面表现都非常优秀。与RedHat非常相似,CentOS在数据中心里面很受欢迎,因为它容易架设、以及后期的维护和管理。CentOS属于社区维护的操作系统,甚至很多新颖的特性,都会首先在这款系统上试用,成熟了之后,才会选择植入其付费的企业版操作系统。

下面编者将安装这款操作系统,并同时用这款操作系统搭建一台常用的文件服务器。

   CentOS 55桌面

第2页:图形化安装过程(一)

   图形化安装过程(一)

CentOS的安装界面分为图形模式和文本模式两种。这里,很多人会选择文本安装模式,并且选择命令模式来操控系统,这样可以为系统节省很多资源。这里编者特别地来体验一下图形模式安装。单击回车键即可开始安装。

   安装初始界面

随后,你可以选择光盘安装或者是硬盘安装,进入图形安装界面。

   

下面的几个步骤,与其他系统安装过程无异:选择系统语言、键盘布局、创建分区、网络设备、时钟以及用户名和密码等。当然,你可以进行在“网络设备”进行手工设置,配置主机名以及其他设置。这里,编者选择系统安装完成之后,通过VI进行配置。

   网络设备

   系统配置完成,单击“下一步”开始安装CentOS 55

第3页:图形化安装过程(二)

图形化安装过程(二)

系统安装完成之后,需要重新引导。之后,系统还要进行几项基本设置。

   欢迎界面

   确认是否启用防火墙,同时选择信任的服务

   SELinux设置

同时,系统需要你进行当前时间的校对和用户及密码的设置。自此,系统安装才算完成。

第4页:安装Samba

   安装Samba

完成CentOS 55系统安装之后,下面开始今天的主要任务:通过Samba服务器来构建文件服务器。

在我们使用Windows作为客户机的时候,通常有文件、打印共享的需求。作为Windows网络功能之一,通常可以在Windows客户机之间通过Windows Network固有的功能实现这些要求。然而,通过Samba我们也可以让一台CentOS主机来兼Windows网络,实现同样的功能,进而充分发挥CentOS主机的可用性。

注:Samba是一个工具套件,是在Linux和UNIX系统上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。

首先,通过 yum 来在线安装Samba。

注:Yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

   在线安装Samba

因为是在线安装,所以完成安装通常需要一段时间,系统会不断地做出提示。

   Samba安装成功

第5页:配置Samba(1)

配置Samba

安装完成之后,还通过编辑 /etc/samba/smbconf ,根据需求配置Samba。在这里,本文的意图是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。

找到全局设置标签[global],并在其下加入文字编码的参数设置。

   编辑Samba的配置文件smbconf

同时,找到workgroup = MYGROUP此行,将工作组名称改为 Windows 网络所定义的工作组名WORKGROUP。并设置hosts allow = 1921680127,指定内网IP地址及本地,只允许这两种情况的访问,取消行前的“;”符号。

   修改工作组名和主机允许IP

然后在配置文件的末尾填如下几行,定义公众共享目录:

   定义公众共享目录

第6页:配置Samba(2)

配置Samba

接下来,创建将要通过Samba共享给Windows网络的专用目录。

   通过Samba共享给Windows网络的专用目录

在进行到服务端的连接之前,需要预先对用于登录Samba的用户进行设置。

在这里,编者以CentOS中Samba用户数据库管理工具"smbpasswd"为例,创建用于登录Samba的用户数据。当然,前提是系统用户中存在该用户,才可以创建该用户在Samba用户数据库中的信息。所以,必须先用useradd创建该用户。

   创建新用户

   将该用户信息加入到Samba用户数据库中

第7页:启动Samba服务

启动Samba服务

在启动Samba服务之前,首先将防火墙设置中Samba所用到的端口进行开放。

通过vi /etc/sysconfig/iptables,编辑 iptables 配置文件。

   编辑iptables配置文件

并且,键入etc/rcd/initd/iptables restart,重新启动iptables,使新的规则生效。同时,启动Samba服务,包括SMB和NMB服务。

   重新启动iptables,使新的规则生效

   从Windows客户端连接到Samba服务器

在服务端启动Samba服务后,我们就可以从Windows客户端通 Windows网络连接到Samba。这里以Windows XP为例,说明如下连接过程:

1、从桌面打开"网上邻居",并点击"查看工作组计算机"选项;

2、确认出现Samba服务端的连接,并双击该连接;(本站文档的主机名以Sample为例)

3、输入在服务端预先设置好的Samba用户的用户名及密码;(用户名同系统用户名,密码需要输入在通过smbpasswd为该系统用户设置的Samba专用的密码。)

4、然后确认能够连接到Samba服务器,并出现根目录及Samba专用共享目录。

最后,在相应目录进行新建、修改以及删除文件的操作,测试相应权限的可操作性。

自行百度

source /etc/profile

第一种方式:

mkdir -p /etc/docker

tee /etc/docker/daemonjson <<-'EOF'

systemctl daemon-reload

systemctl restart docker

第二种方式:

curl -sSL https://getdaocloudio/daotools/set_mirrorsh | sh -s http://f1361db2mdaocloudio

dig @114114114114 registry-1dockerio | grep registry-1dockerio | awk -F ' ' '{print$5}'

vim /etc/hosts

vim /etc/sysconfig/network-scripts/ifcfg-eth0

systemctl restart docker

cp my_defaultcnf /etc/mycnf

界面演示

暂未提供

界面演示

暂未提供

更新中

CentOS 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。

  环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192168122168 ,主机名node2的IP为192168122169 。

  一、安装集群软件必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件

  二、配置防火墙

  1、禁止防火墙和selinux

  修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效

  2、设置防火墙规则

  三、各节点之间主机名互相解析分别修改2台主机名分别为node1和node2,在centos 7中直接修改/etc/hostname加入本机主机名和主机表,然后重启网络服务即可。

  配置2台主机的主机表,在/etc/hosts中加入

  四、各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。

  五、各节点之间配置ssh的无密码密钥访问。下面的操作需要在各个节点上操作。

  两台主机都要互相可以通信,所以两台主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都要解析对方的主机名, 192168122168 node1 192168122169 node2

  六、通过pacemaker来管理高可用集群

  1、创建集群用户

1yum安装Git服务器

代码如下:

[root@git ~]# cd src/

[root@git src]# wget http://dlfedoraprojectorg/pub/epel/5/x86_64/epel-release-5-4noarchrpm

[root@git src]# rpm -ivh epel-release-5-4noarchrpm

Preparing                ########################################### [100%]

  package epel-release-5-4noarch is already installed

[root@git ~]# yum list

[root@git ~]# yum install -y git

2创建一个git用户,用来运行git服务

代码如下:

[root@git ~]# adduser git

3创建客户端登录证书

注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsapub文件,把所有公钥复制到/home/git/ssh/authorized_keys文件里,一行一个。嘿嘿!

1)客户端生成id_rsapub文件的命令

代码如下:

$ ssh-keygen -t rsa

$ cat  ssh/id_rsapub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

注,一路回车即可,将生成的id_rsapub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。

2)查看服务器上authorized_keys文件

代码如下:

[root@git ~]# cat /home/git/ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== Administrator@WIN2003X323

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。

4初始化Git仓库

注,先选定一个目录作为Git仓库,这里是/data/git/projectgit。

代码如下:

[root@git ~]# cd /data/git/

[root@git git]# git init --bare projectgit

[root@git projectgit]# ls

branches  config  description  HEAD  hooks  index  info  objects  refs

执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以git结尾。然后,把owner改为git:

代码如下:

[root@git git]# chown -R gitgit projectgit

[root@git git]# ls -l

总计 4

代码如下:

drwxr-xr-x 7 git git 4096 05-09 13:50 projectgit

5禁用shell登录

注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

代码如下:

[root@git ~]# cat /etc/passwd | grep git

git:x:1001:1001:git version control:/home/git:/bin/bash

改为:

代码如下:

[root@git ~]# vim /etc/passwd

git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6克隆远程仓库

注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

注,$ git clone git@gitjjhhcom:/data/git/projectgit,其中git用户名,gitjjhhcom服务器,/data/git/prgjectgit是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。

7创建SSH Key

首先在用户主目录下,看看有没有ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsapub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

代码如下:

$ ssh-keygen -t rsa -C "youremail@examplecom"  

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到ssh目录,里面有id_rsa和id_rsapub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsapub是公钥,可以放心地告诉任何人。

8Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1RSAAuthentication yes

2PubkeyAuthentication yes

3AuthorizedKeysFile ssh/authorized_keys

这里我们可以看到公钥存放在ssh/authorized_keys文件中。所以我们在/home/git下创建ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

代码如下:

Zhu@XXX/E/testgit/834

$ git clone git@192168834:/data/git/learngitgit

Cloning into 'learngit'

warning: You appear to have cloned an empty repository

Checking connectivity done

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Centos7下如何搭建KVM虚拟机

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情