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. Leetcode1 - 10

    1. 两数之和 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { ...

  2. Java里的数组降序

    Java升序容易,降序不易. 基本类型不能降序,至少要是包装类. 升序使用Arrays.sort() 降序要么使用Collections.reverse,要么实现Comparator接口 import ...

  3. 知识点:C语言进阶提高篇,自定义数据类型:枚举

    一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型.比如,你可以用一个枚举类型的变量来表示季节,因 ...

  4. equals的推荐写法

    我们在重写equals的时候必须满足几个原则,否则,类在容器和其他场景下会出现奇怪的行为: 1.A.equals(A)=true, 2.对称性.即A.equals(B)=true;则B.equals( ...

  5. Ajax Status(状态码) & readyState()

    Ajax Status & readyState readyState(状态值) 是指运行AJAX所经历过的几种状态,论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤,使用" ...

  6. JZOJ8月10日提高组T2 Fix

    JZOJ8月10日提高组T2 Fix 题目 Description There are a few points on a plane, and some are fixed on the plane ...

  7. C#设计模式-组合模式(Composite Pattern)

    概念 组合是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们. 组合模式(Composite Pattern)是将对象组合成树形结构以表示'部分-整体'的层次 ...

  8. PyQt学习随笔:QTableWidgetItem项的setSizeHint()方法的作用

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidgetItem项的方法setSizeHint用于设置项的sizeHint属性,Qt ...

  9. PyQt学习随笔:重写组件的event方法捕获组件的事件

    在PyQt的组件对象中,都有从QWidget中继承的方法event,而QWidget.event是对QObject类定义的虚拟方法event的实现. event方法的语法: bool event(QE ...

  10. js已知A,B两点坐标,在线段AB上有C点,已知AC的距离,求C点的坐标

    /** * @param {Number} _x1 A点坐标 * @param {Number} _y1 A点坐标 * @param {Number} _x2 B点坐标 * @param {Numbe ...