热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu系统配置KVM虚拟机桥接网络

1.确认硬件支持硬件虚拟化运行egrep(vmx|svm)/proc/cpuinfo如果有显示,则表示支持硬件虚拟化,如果没有显示就是不支持。如果不支持硬件虚拟化,就不能使用KVM了,这时推荐使用Xen。2.确认在BIOS设置中打开了硬件虚拟化支持。3.在物理机上安

1.确认硬件支持硬件虚拟化
  运行
      egrep '(vmx|svm)' /proc/cpuinfo
  如果有显示,则表示支持硬件虚拟化,如果没有显示就是不支持。如果不支持硬件虚拟化,就
  不能使用 KVM 了,这时推荐使用 Xen。

2.确认在 BIOS 设置中打开了硬件虚拟化支持。

3.在物理机上安装 Ubuntu。
    修改主机名
        sudo vi /etc/hostname
        里面就一行,就是主机名。
    分配 IP 地址:
        sudo vi /etc/network/interfaces
    如果是使用的 DHCP 自动分配地址,写入这些内容:
        auto lo
        iface lo inet loopback

        auto eth0 #看好你机器的网卡是不是叫 eth0,ifconfig -a 可以查看
        #网卡可能叫 eth1,eth2,或 wlan0,wlan1(无线网卡)等等
        iface eth0 inet dhcp
    如果是需要手动设置 IP:
        auto lo
        iface lo inet loopback

        auto eth0
        iface eth0 inet static
        address 192.168.1.200 #分配的 IP 地址,自己看着办吧
        netmask 255.255.255.0 #网络掩码
        gateway 192.168.1.1  #网关,使用家用路由上网的就是 路由器
    设置 DNS 服务器地址:
        vi /etc/resolv.conf
    写入:
        nameserver xxx.xxx.xxx.xxx #(DNS 服务器 IP 地址,不知道?
         #10000/100010 会告诉你,或者
         #直接填 8.8.8.8
         #千万别把域名写进去了,要知为什么这样
 #请去研究先有鸡还是先有蛋这个哲学问题)
    配置好后运行
        sudo /etc/init.d/networking restart
    重启网络服务,这个时候注意看看有没有错误提示。
        ping www.gov.cn
    试试,如果显示类似这种:
        64 bytes from 218.8.55.118: icmp_seq=1 ttl=50 time=269 ms
    就代表网络通了(按 CTRL-C 退出)。
4.使用
    sudo apt-get install kvm libvirt-bin virtinst bridge-utils
  安装需要的软件。
  安装 libvirt-bin 时将自动建立一个组 libvirtd,同时会自动把 admin 组中的成员加
  入进来。

5.配置桥接网络
    运行
        sudo vi /etc/network/interfaces
    将文件修改为

        auto lo
        iface lo inet loopback

        auto eth0
        iface eth0 inet manual
          auto br0
        iface br0 inet static #static 可以改成 dhcp,这时
     #就不需要 address,netmask,gateway 这三行了
        bridge_ports eth0 #此处的 eth0 就是上面提到 eth0
        address 192.168.1.200 #分配的 IP 地址,自己看着办吧
        netmask 255.255.255.0 #网络掩码
        gateway 192.168.1.1   #网关,使用家用路由上网的就是 路由器
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
    同样运行
        sudo /etc/init.d/networking restart
        ifconfig
    看看是否多出了一项 br0。

4.将用户 hadoop 加入 libvirtd 组。
    sudo adduser hadoop libvirtd
    要生效需要退出重新登录。

5.看看现在运行了几台虚拟机吧。
    virsh -c qemu:///system list
    好像还没有虚拟机。马上建一个?先别急。

6.因为我安装的是服务器版的 Ubuntu,所以需要远程登录的。还需要 vnc 远程访问虚拟机。
  现在要做的就是安装 ssh 服务了。很简单:
      sudo apt-get install openssh-server
  生成密钥
      ssh-keygen  #然后一路回车。会生成一对没有密码保护的 ssh 密钥。
      cd ~/.ssh
      cat id_rsa.pub >>authorized_keys
  将远程登录要用到的私钥复制走:
      插上一个 U 盘
      sudo mkdir /media/sdb1
      sudo mount -t vfat /dev/sdb1 /media/sdb1 #将 U 盘挂载到机器上
      sudo cp ~/.ssh/id_rsa /media/sdb1
  再将此 U 盘插到工作机上,比如,你的笔记本,将 id_rsa 复制到某一个地方(我直接就放在了~)
  这时就可以在工作机上登录服务器了:
      ssh -i ~/id_rsa -l hadoop 192.168.1.200 #两台机器要在同一网段上
# -i 指定证书文件,如果没有这个选项就会使用 ~/.ssh/id_rsa
# -l 指定登录的用户名
  其实现在也可以
      ssh 192.168.1.200
  这样会要求输入要登录的用户名,和这个用户的登录口令,但是这样相对就要不安全一些了。
  现在关闭运行使用口令登录的功能,在服务器上运行:
      sudo vi /etc/ssh/sshd_config
  找到
      #PasswordAuthentication yes
  将它修改为
      PasswordAuthentication no
  然后运行
      sudo /etc/init.d/ssh restart
  重启 ssh 服务。
  现在不能用密码登录了吧? :)    
7.从这一步开始,就可以完全在工作机上操作了(我是这么做的)。
  在工作机上安装 virt-view
      sudo apt-get install virt-viewer

8.查看远程服务器器上运行了几台虚拟机
    virsh -c qemu+ssh://192.168.1.200/system list

9.在远程服务器上安装虚拟机
    virt-install -c qemu+ssh://192.168.1.200/system -n hadoop1
        -r1000 -f hadoop1.img -s10 -c ~/ubuntu-10.04-server-AMD64.iso \
        --vnc --noautoconsole --network bridge=br0

  -n hadoop1 虚拟机的名字
  -r1000 虚拟机使用内存的上限
  -f hadoop1.img 虚拟机使用的虚拟硬盘文件
  -s10 虚拟机虚拟硬盘文件大小的上限
  -c ~/ubuntu-10.04-server-AMD64.iso 用来安装的 iso 文件
  --vnc 开启 vnc 支持,因为需要远程查看
  --noautoconsole 不要自动连接到虚拟机终端
  --network bridge=br0 设置网络为桥接

    virt-viewer -c qemu+ssh://192.168.1.200/system hadoop
   查看 192.168.1.200 上的 hadoop
   就可以盯着安装了。

10.关于 virt-clone
    sudo virt-viewer -c qemu+ssh://192.168.1.200/system \
        -o hadoop -n hadoop1 -f hadoop1.img
   -o hadoop 复制的来源
   -n 新虚拟机的名字
   -f 新虚拟机的硬盘文件
       注意:clone 的虚拟机的网卡的名字不叫原来那一个了
            比如原来叫 eth0,clone 之后,很可能叫 eth1,具体请使用 ifconfig -a
   更多功能请
       man virt-clone

11.关于 virsh
    这里说几个常用的 virsh 功能
    virsh -c qemu+ssh://192.168.1.200/system destroy hadoop
        强行关机
    virsh -c qemu+ssh://192.168.1.200/system undefine hadoop
 在命名空间中取消定义这个虚拟机,基本上就是删除。但是不会删除虚拟硬盘文件
    virsh -c qemu+ssh://192.168.1.200/system start hadoop
        启动 hadoop
    virsh -c qemu+ssh://192.168.1.200/system autostart hadoop
          让 hadoop 在物理机启动时自动启动
      virsh -c qemu+ssh://192.168.1.200/system shutdown hadoop
          正常关机
      更多功能请
           man virsh


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
author-avatar
手机用户2502912857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有