虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。
服务器的资源很多,同一台服务器上运行的服务数量却有限制,因为运行的服务越多,服务与服务之间产生冲突的几率就越大;所以在服务器的系统中避免安装过多的服务,但是这样就浪费了服务器大量的资源。使用虚拟化技术就可以通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统,操作系统与操作系统之间隔离,服务之间就不会产生冲突,从而提高资源利用率。虚拟化的好处:服务的安全隔离性,提高资源利用率,绿色环保,企业节省成本,机房迁移变得简单(操作系统系统和硬件解耦),业务快速部署。
//安装KVM虚拟化程序
[root@kvm ~]# yum -y install libvirt* virt-* qemu-*
//启动服务
[root@kvm ~]# systemctl start libvirtd
[root@kvm ~]# systemctl status libvirtd
//关闭防火墙
[root@kvm ~]# iptables -F
[root@kvm ~]# systemctl stop firewalld ebtables
[root@kvm ~]# systemctl disable firewalld ebtables
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
//物理机安装VNC用来连接虚拟机
TightVNC 或者 VNC viewer软件
//准备好一个镜像,放到系统中
//使用创建一台Centos虚拟机
[root@kvm ~]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos7.raw,format=raw,size=10 --cdrom /opt/centos7.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
//磁盘的两种格式
raw 不支持做快照,性能好
qcow2 支持快照
//创建完虚拟机使用VNC进行连接,连接前使用netstat或者ss命令查看,虚拟机监听端口号
//虚拟机开启后会产生qemu-kvm的进程,查看此进程所监听的端口号,然后使用宿主机的IP加端口即可连接
[root@kvm ~]# netstat -anltup | grep "qemu"
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 23549/qemu-kvmlist 列表
start 开机
shutdown 关机
destroy 断电关机
//list查看虚拟机列表
//virsh list 查看正在运行的虚拟机
[root@kvm ~]# virsh list
Id 名称 状态
----------------------------------------------------
//virsh list --all 查看所有虚拟机
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 centos7 shut off
//start开启虚拟机
//virsh start centos7 开启centos7虚拟机
[root@kvm ~]# virsh start centos7
Domain centos7 started
//查看虚拟机状态已经开启
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 centos7 running
//shutdown关闭虚拟机
//virsh shutdown centos7 关闭centos7虚拟机
[root@kvm ~]# virsh shutdown centos7
Domain centos7 is being shutdown
//查看虚拟机状态已经关闭
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7 shut off
//destroy断电关机
//先开启centos7虚拟机
[root@kvm ~]# virsh start centos7
Domain centos7 started
//virsh destroy centos7 断电关机
[root@kvm ~]# virsh destroy centos7
Domain centos7 destroyed
//查看虚拟机状态已经关闭
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7 shut off[root@kvm ~]# virsh dumpxml centos7 > /root/centos7.xml
[root@kvm ~]# ls
anaconda-ks.cfg centos7.xml
//前面已经导出了虚拟机配置文件,我们可以复制一份其他虚拟机的磁盘文件,可以根据这两个文件导入一台虚拟机
//define导入虚拟机,导入之前确保虚拟机的名称,uuid,磁盘文件不冲突
//virsh define /root/centos7.xml 导入centos7虚拟机
[root@kvm ~]# virsh define /root/centos7.xml
Domain centos7 defined from /root/centos7.xml
//查看虚拟机centos7导入成功,/etc/libvirt/qemu/ 目录下会多一个导入的虚拟机的配置文件
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7 shut off
- centos7-1 shut off
//在导入导出时,虚拟机磁盘的位置至关重要,当虚拟机磁盘的位置发生改变后,需要更改虚拟机配置文件指定位置
//edit 修改虚拟机配置文件,使用此命令会修改配置文件会检查语法
[root@kvm ~]# virsh edit centos7
<domain type='kvm'>
<name>centos7</name>
<uuid>5234ea3a-2ccf-4f89-8bb8-9d2ec52be8ec</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
......
<source file='/opt/centos7.raw'/> //找到此行,将路径修改为磁盘文件的路径
......
//undefine删除虚拟机
//虚拟机必须处于关闭状态才能删除
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7 shut off
//virsh undefine centos7 删除centos7虚拟机
[root@kvm ~]# virsh undefine centos7
Domain centos7 has been undefined
//查看虚拟机已经被删除,但是仅仅只是删除配置文件,磁盘文件依然存在
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------//domrename虚拟机重命名
//虚拟机重命名时,虚拟机必须处于关闭状态
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7 shut off
//virsh domrename centos7 hzz 将虚拟机centos7改名为zwh
[root@kvm ~]# virsh domrename centos7 zwh
Domain successfully renamed
//查看虚拟机,名称修改成功
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- zwh shut off//虚拟机必须处于开启状态才能挂起
[root@kvm ~]# virsh start zwh
Domain zwh started
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 zwh running
//virsh suspend zwh 挂起hzz虚拟机
[root@kvm ~]# virsh suspend zwh
Domain zwh suspended
//查看虚拟机,已经处于暂停状态
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 zwh paused
//resume恢复挂起状态的虚拟机
//virsh resume zwh 恢复处于挂起状态的hzz虚拟机
[root@kvm ~]# virsh resume zwh
Domain zwh resumed
//查看虚拟机,恢复运行状态
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 zwh running//当一台虚拟机关闭之后再重启,端口号就不一定是原来的端口号,所以需要进行查询
//vncdisplay查看虚拟机VNC端口号,虚拟机必须处于运行状态
//virsh vncdisplay zwh 查看zwh虚拟机的端口号
[root@kvm ~]# virsh vncdisplay zwh
:0
//查询出来的端口号是短格式,我们可以直接使用这种段格式的端口号进行连接虚拟机在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我这个模型:classBunny每当我提交一个表单来创建这个模型时,我都会收到以下错误:#的未定义方法“number_before_type_cast” 最佳答案 我通过将此方法添加到我的Bunny模型中解决了这个问题:defnumber_before_type_castnumberend我不喜欢它,但我想在有人发布更好的解决方案之前它会起作用。 关于ruby-on-rails-Rails验证虚拟属性,我们在StackOverflow上找到一个类似的问题: h
【适用平台】私有云 说明:完成私有云部分是需要两台虚拟机的,分别为controller、compute两个节点,但我们只需配置一台,然后克隆就方便多啦!需要用到的映射文件:关于vm的安装我就不介绍的,毕竟挺简单的,下面让我们看看基于私有云模块中,虚拟机的搭建吧。1、创建新的虚拟机,这里一般我会选择自定义,毕竟后面的配置都要根据私有云相关来进行搭建,会比较复杂。(如果是基础的可以选择典型,典型的满足一般虚拟机的配置) 2、选择稍后安装操作系统会比较方便后续的选择,这里你也可以自己选择自己的映像文件(但不建议) 3、我们是基于Linux下操作的,所以选择Linux客户机操作系统,版本选择自己
VMware虚拟机与本地主机进行磁盘共享前提虚拟机版本为Windows10(专业版,不是可能有问题)本地主机为家庭版或学生版(此版本会有问题,但有替代方式)最好是专业版VMware操作1.关闭防火墙,全部关闭。2.打开电脑属性3.点击共享-》高级共享-》权限4.如果没有everyone,就添加权限选择完全控制,然后应用确定。5.打开cmd输入lusrmgr.msc(只有专业版可以打开)如果不是专业版,可以跳过这一步。点击用户-》administrator密码要复杂密码,否则不行。推荐admaiN@1234类型的密码。设置完密码,点击属性,将禁用解开。6.如果虚拟机的windows不是专业版,可
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀虚拟机上进行java项目部署,自己的一点总结,一起学习,一起进步,一起成长!🛸🛸🛸🛸🛸🛸🛸🛸🛸🛸目录文章目录虚拟机上进行java项目部署1.JDK安装2.TOMCAT安装3.DOCKER1、YUM安装2、docker部署java4、最后 【yzh2022.9】1.JDK安装1、我们安装VM的时候,使用命令java-version查看 java-version这里显示JDK的信息是openjdkversion"1.8.0_262",我们会发现这个JDK是VM自带的当然你也可以通过命令rpm-qa|grepjava来查看相关的java信息 rpm-qa|grepjava【如果不
文章目录一、用户二、用户分类1、普通用户2、超级用户3、系统用户三、用户相关文件1、/etc/passwd文件2、/etc/shadow文件四、用户管理命令1、useradd2、adduser3、passwd4、usermod5、userdel一、用户Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。在Linux系统中,任何文件都属于某一特定用户,而任何用户都隶属于至少一个用户组。用户名(username):每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系
Conda虚拟环境的复制和迁移在本机复制Conda虚拟环境condacreate--namesnapshot--clonemyenv相同操作系统之间复制环境方法一:requirements.txt这个方法不推荐,因为只会导出你使用pip安装的依赖包,不会导出虚拟环境所依赖的包,并不适用于虚拟环境的迁移的应用场景。事实上,此方法比较适用于,已经明确知道依赖哪些包,我们只需要package信息的情况,如写项目文档,告诉别人运行我这个系统必须安装哪些依赖包。而忽略虚拟环境本身的依赖环境。pipfreeze>requirements.txt#生成requirements.txtpipinstall-r
我正在使用Vagrantv1.5.1创建虚拟机(VM)集群。在供应了所有VM之后,是否可以在其中一台机器上运行单个脚本?我要运行的脚本将设置从一个VM到所有其他VM的无密码SSH。例如我在Vagrant(CentOS6.5)中配置的节点如下。节点1节点2节点3节点4我的Vagrantfile如下所示。(1..4).eachdo|i|config.vm.define"node-#{i}"do|node|node.vm.box="centos65"...omitted..endend完成所有这些后,我需要在node1上运行一个脚本,以启用到node2、node3和node4的无密码SSH。
文章目录1下载Anaconda2创建自己的虚拟环境3配置自己的虚拟环境1下载Anaconda直接官网下载Anaconda官网2创建自己的虚拟环境可以直接在anaconda软件上添加还可以通过命令行指令,打开终端输入condacreate-n名字python=3.73配置自己的虚拟环境在终端先进入刚刚配置好的虚拟环境,输入condaactivate虚拟环境名字输入condainstall包名即可进行虚拟环境的相关配置