Linux下通过kvm创建虚拟机,通过vnc连接,做好配置后,通过ssh登录,并开启iptables

Kvm虚拟化搭建教程参考链接:https://jingyan.baidu.com/article/6fb756ec90451f241858fb9c.html

第一步:

安装之前物理机的基本要求:centos6.5 64位,不安装桌面环境,默认运行级别为3,要配置好dns,确定系统时间与北京时间同步,服务器要允许命令重启,bios开启vt功能。

1. 查看Linux查看系统运行级别:who –r 命令 run-level有网络的多用户模式,默认运行级别为3。

2. 采用最小化安装+以下软件包:BaseSystem – Base,Development-- Development tools

yum groups install Development tools -y
yum install basesystem –y

3.  查看DNS的配置cat /etc/resolv.conf 确认配置好DNS的nameserver为114.114.114.114

4.  系统时间同步

参考链接:https://www.linuxprobe.com/linux-internet.html

安装ntp:

yum install -y ntpdate

同步时间: ping pool.ntp.org 是ntp的官方网站

Ntpdate ping出的ip,使用ip连接会快点

系统时间写入到系统硬件当中,避免重启服务器时间覆盖

显示hardwareclock系统硬件时间:

hwclock

将系统时间写入到系统硬件当中:

hwclock –w

设置定时任务:

Crontab –e –u root
10 5 * * * root ntpdate ip; hwclock -w

5.  查看虚拟化有没有开启,没有的话需要在关闭虚拟机后在虚拟机管理页面开启。

[root@learn1 ~]# cat /proc/cpuinfo | grep vmx
[root@learn1 ~]# lsmod | grep lvm

第二步:

1.安装依赖包和一些基础软件:

yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools virt-install

2.启动libvirtd服务

systemctl start libvirtd  &&   systemctl enable libvirtd

3.命令全局生效

ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

第三步:

创建网桥:

cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=公网IP
NETMASK=公网IP掩码
GATEWAY=公网IP网关

第四步:

修改网卡信息,将网卡连接到网桥:

cat /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BRIDGE=br0
ONBOOT=yes
BOOTPROTO=none

重启网络:

systemctl restart network

第五步:

查看网桥:

[root@localhost data1]# brctl show 

至此,KVM环境安装完成,接下来新建windows与centos虚拟机安装操作系统:

第一步:

上传iso文件到/images目录下,Centos的可以直接通过rz上传,windows的因为超过4G,所以需要下载winscp工具上传。

创建centos虚拟机的步骤:

1.创建磁盘:

qemu-img create -f qcow2 /data/devops.qcow2 5G

2.创建虚拟机devops:

virt-install --virt-type kvm --name devops --ram 1024 --vcpus=1 --disk path=/data/devops.qcow2 --cdrom /images/CentOS-7.0-1406-x86_64-DVD.iso --network bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0,port=5905 --noautoconsole --os-type=linux --os-variant=rhel7

可能会有的报错是qemu用户对/data目录没有权限,需要chown修改。

chown -R qemu:qemu /data/

创建完成,可以看到系统5905端口打开。

netstat –antlp

创建windows10虚拟机的步骤:

1.创建磁盘:

qemu-img create -f qcow2 /data/kvm/scpvp-pkg-qa/scpvp-pkg-qa.qcow2 20G 

2.创建虚拟机:

virt-install --virt-type kvm --name scpvp-pkg-qa --ram 1024 --vcpus=8 --disk path=/data/kvm/scpvp-pkg-qa/scpvp-pkg-qa.qcow2 --cdrom /images/Windows.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5905 --noautoconsole

第二步:

Kvm的日常管理命令:

查看KVM列表:virsh  list --all
启动KVM:virsh start devops
关闭KVM:virsh shutdown devops
强制关闭KVM:virsh destroy devops
暂停KVM:virsh suspend devops
恢复KVM:virsh resume devops
克隆KVM:virt-clone -o devops -n devops01 -f /data1/devops01.qcow2
编辑KVM配置:virsh edit devops01
删除VNC端口:
virsh edit centos01,打开xml后,删除下面的配置:
<graphics type='vnc' port='5910' autoport='no' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
设置KVM开机自动启动:
vrish autostart devops01 

创建完成,给虚拟机建立VNC连接:

参考连接:https://jingyan.baidu.com/article/b2c186c8dff167c46ef6ffa8.html

然后就可以连接虚拟机了。

Ssh/securecrt连接:

vnc连接虚拟机之后,做好基本的配置,如设置网络,dns等后,devops就可以通过secureCRT去连接新建的虚拟机了,也可以通过ssh连接。

Windows也相同:通过vnc连接时,密钥为:W269N-WFGWX-YVC9B-4J6C9-T83GX

参考链接:https://blog.51cto.com/10802692/2414758?source=dra

Kvm+iptables

Devops主机安装iptables与iptables-services,开启iptables,给主机安装apache并开启,默认情况下外部浏览器是访问不到devops的也免得,需要设置策略。

iptables -I INPUT 1 -s 192.168.172.101 -p tcp --dport 80 -j ACCEPT

保存:

service iptables save

保存到此文件中:

/etc/sysconfig/iptables

命令查看iptables的策略

iptables -nL

kvm环境部署及常用指令的更多相关文章

  1. ansible环境部署及常用模块总结 - 运维笔记

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  2. 002.KVM环境部署

    一 环境准备 1.1 查看是否支持虚拟化 [root@kvm-host ~]# grep -E 'vmx|svm' /proc/cpuinfo 注意:intel为vmx,amd为svm. 1.2 确定 ...

  3. 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷

    简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...

  4. Ananconda常用指令

    Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项,可用于解决开发过程中遇到python版本需要切换的问题. conda有一点好处是,如 ...

  5. 第一节. .Net Core环境的安装和常用指令

    一. 环境介绍和安装 1. 环境介绍 .Net FrameWork框架:BCL(基础类库 system.dll).CLR(运行时 仅支持:Windows).FCL(一些框架,比如:MVC.WPF) . ...

  6. kvm企业级虚拟化环境部署

    由于要做毕设了,不得不要搭建Linux环境,自己做的课题是ELK日志分析相关.因此要大干一场,一下子计划采用近10台机器来做试验,但由于我这里只有三台物理机,所以我就搞起了虚拟化kvm.在Linux里 ...

  7. 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令

    1. error_log 含义:指定存储错误日志的文件 语法:error_log <file> [debug|info|notice|warn|error|crit] 缺省:${prefi ...

  8. 当前主要的常用的PHP环境部署套件比较

    当前主要的常用的PHP环境部署套件比较 作为新手,需要学习PHP,或者需要搭建PHP+MySQL运行环境时,就需要去找各种搭建方法,一步一步按照操作流程操作,不仅繁琐,而且容易出错,还会带来安全隐患. ...

  9. Saltstack自动化操作记录(1)-环境部署【转】

    早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...

随机推荐

  1. C语言常用的一些转换工具函数!

    1.字符串转十六进制 代码实现: 2.十六进制转字符串 代码实现: 或者 效果:十六进制:0x13 0xAA 0x02转为字符串:"13AAA2" 3.字符串转十进制 代码实现: ...

  2. vue微博回调接口

    1.vue微博回调空页面 注:微博回调空页面为: http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <tem ...

  3. vue 项目在 IE11 里呈现空白,不兼容的问题解决方案

    我用vue 2.6.11版本编写的项目,在谷歌浏览器上运行的好好地,但是放到ie11浏览器上却是一片空白. 这个问题遇到的时候,我是蒙蔽了,抓紧去搜了搜百度,百度上的答案倒是都很统一. 都是说ie不兼 ...

  4. MIT-6.005软件构建

    L01 Static Typing 主要对比Java和Python Java:静态语言,运行之前所有变量都要声明.traps:整型相除还是整型,5/2=2.数值溢出,20亿*2结果是负数,这个bug不 ...

  5. 针对五款IPA文件安装工具的深度评测

    IPA是Apple程序应用文件iPhoneApplication的缩写,在日常中我们可以通过把IPA文件直接安装到iPhone手机来使用,故此笔者针对目前几种比较认可的方式做了对比,评测一下到底那款工 ...

  6. moviepy音视频剪辑:追踪人脸打马赛克的三种实现方式

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在moviepy官网的案例<Tracking and blurring someone's face>和CSDN的moviepy大神uc ...

  7. 第8.4节 Python类中不是构造方法却胜似构造方法的__new方法__深入剖析:语法释义

    一.    引言 在本博前面的内容都对构造方法__init__进行了介绍,也在前面章节引入了__new__方法,但老猿认为__new__方法比构造方法__init__更应该属于构造方法.这是因为在Py ...

  8. 第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头

    一. 引言 在<第14.3节 使用google浏览器获取网站访问的http信息>和<第14.4节 使用IE浏览器获取网站访问的http信息>中介绍了使用Google浏览器和IE ...

  9. [BJDCTF2020]Mark loves cat && [BJDCTF 2nd]简单注入 && [BJDCTF2020]The mystery of ip

    [BJDCTF2020]Mark loves cat 源码泄露 使用GitHack.py下载源码 下载之后对源代码进行审计 flag.php代码为: <?php $flag = file_get ...

  10. STL——容器(Set & multiset)的大小

    1. set.size();  //返回容器中元素的数目 2. set.empty();//判断容器是否为空 empty() 是由一下代码实现的,可以发现,当长度为0时返回 false,以此判断容器为 ...