磁盤空間有兩個詞:python
精簡置備:我先在我係統裏面去聲明我要一個50G的空間,可是呢,我不會把50G都分給你,你用多少,我分給你多少,可是作多不能超過50G.linux
厚置備:直接把50G都分給你。apache
什麼是虛擬化:(1u是指的服務器的厚度)vim
10年前,他都是單獨的服務器提供服務,像apache是部署在Linux操做系統裏,他會單獨的拿一臺物理的硬件服務器來部署這個服務,若是部署多個服務的話,那麼就須要多個物理服務器,隨着業務增長,那麼須要服務器的數量也就增長,這就增長了公司分費用,就須要買不少不少服務器,也隨着硬件硬件的發展,一個磁盤空間1T多,若是隻部署一個服務的話,又太浪費,因此最後慢慢衍生出來了虛擬化技術,有了這項技術,把一個服務器虛擬成多個小的邏輯計算機,幫助咱們提供服務,那如今用一臺服務器就能夠把所須要的服務集中部署在一臺服務器裏,這樣節約了成本。跨域
經過虛擬化技術將一臺計算機虛擬爲多臺邏輯計算機。在一臺計算機上同時運行多個邏輯計算機,每一個邏輯計算機可運行不一樣的操做系統(虛擬出來的計算機都具備單獨的操做系統,跟咱們宿主機是相互隔離的),而且應用程序均可以在相互獨立的空間內運行而互不影響。緩存
重新定義劃分IT資源,能夠實現IT資源的動態分配,靈活調度,跨域共享。服務器
提升IT資源利用率網絡
同一主機上運行多個系統或應用 , 從而提升系統資源的利用率 , 同時帶來下降 成本 , 方便管理和容錯容災。架構
徹底虛擬化:含有hypervisor的一種軟件,VMware和微軟的VirtualPC是表明該方法的兩個商用商品,KVM就是基於Linux徹底虛擬化的一款開源的產品,hypervisor能夠捕獲CPU的指令,爲指令訪問硬件控制器和外設充當中介。缺點,給處理器帶來開銷。ssh
準虛擬化:徹底虛擬化是一項處理器密集型技術,由於他要求hypervisor管理各個虛擬服務器,並讓他們彼此獨立。爲了減輕這一負擔,能夠改動客戶端操做系統,讓他覺得本身運行在虛擬環境下,可以與hypervisor協同工做,這就是準虛擬化。
準虛擬化表明:Xen
系統虛擬化:沒有獨立的hypervisor層,主機操做系統自己負責多個虛擬服務器之間的資源分配。在徹底虛擬化和準虛擬化裏面,咱們的虛擬機要享用資源,必須經過hypervisor層給他管理和分配資源。
桌面虛擬化:好比上機考試的電腦,他本地是沒有操做系統,而是遠端有一箇中心機房,把操做系統投射到你屏幕裏,進行統一管理。
對於系統虛擬化技術來講,虛擬層爲用戶提供了一個完整的虛擬機:包括內核 在內的一個完整的系統鏡像。 CPU 虛擬化技術能夠爲每一個用戶提供一個獨享且和其餘用戶隔離的系統環境,虛擬層能夠爲每一個用戶分配虛擬化後的 CPU 、 內存和 IO 設備資源。
物理機咱們通常稱爲宿主機(Host),宿主機上面的虛擬機稱爲客戶機 (Guest)。那麼 Host 是如何將本身的硬件資源虛擬化,並提供給 Guest 使 用的呢?
這個主要是經過一個叫作 Hypervisor 的程序實現的。根據 Hypervisor 的實 現方式和所處的位置,虛擬化按照結構分爲兩種類型:1型虛擬化和2型虛擬化。
1型虛擬化:hypervisor(典型表明:ESXi,Xen)(軟件)直接部署在服務器的硬件上。
2型虛擬化:首先在你的硬件上部署一個Linux操做系統,在這個操做系統上部署咱們hypervisor軟件(KVM,VirtualBox,VMWare Workstation)
1型虛擬化通常對硬件虛擬化功能進行了特別優化,性能上比2型要高;
2型虛擬化由於基於普通的操做系統,會比較靈活,好比支持虛擬機嵌套。嵌 套意味着能夠在KVM虛擬機中再運行KVM。
cat /etc/redhat-release
uname
cat /etc/issue
我的用的是VMware Workstation
企業用的是VMware Vsphere
kvm全稱「基於內核的虛擬機」,是一個開源的軟件,基於內核的虛擬化技術,實際是嵌入系統的一個虛擬化模塊,經過優化內核來使用虛擬技術,該內核模塊使得Linux變成一個hypervisor,虛擬機使用Linux自身的調度器進行管理。(就是說Linux要部署一個kvm模塊,他才能變成hypervisor層)。
kvm是基於CPU的類型進行管理。
kvm空間:
用戶空間:指的是用戶獲得一個虛擬機
內核空間:指的是你的kvm宿主機裏面它部署的虛擬化的軟件,是經過驅動內核來實現的
虛機:指的是用戶的獲得一個虛擬機層
Guest:指的咱們虛擬機,也稱VM
kvm:運行在內核空間,提供CPU和內存的虛擬
QEMU(擴展軟件):幫咱們提供了虛擬機的I/O設備(CPU 內存 顯示器),其餘的硬件虛擬化
kvm有一個內核模塊叫kvm.ko,它來提供咱們CPU和內存
Libvirt:kvm的管理工具
1 後臺daemon程序libvirtd:libvirtd是服務程序,接受和處理API請求
2 API(軟件的接口,能夠根據這個接口開發管理的軟件,調用這個程序)庫
3 命令行工具virsh
Intel(R)Virtualization Tech [ Enable ]
grep vmx /proc/cpuinfo (針對INTEL 芯片)
grep svm /proc/cpuinfo (針對AMD 芯片)
KVM虛擬化安裝
64bitCPU(支持虛擬化)
2G以上空閒內存(如何確認內存大小,grep –e Mem Total /proc/meminfo或者free -m)
6GB空間儲存空間
拓展知識點:
查看系統的塊設備(通常咱們的硬盤就是塊設備):lsblk
nmtui(設置網卡命令)
如何把圖形化界面換成命令行界面
先查看:systemctl get-default 通常graphical.target就是圖形化
後設置:systemctl set-default multi-user.target 命令行界面
又想用圖形化界面怎麼辦?
命令行輸入startx便可。當又不想用的時候,ctrl+c退出這個進程。
(1)配置源
先把yum.repo.s裏的大C文件歸攏
vim cdrom.repo
[cdrom]
name=123
baseurl=file:///mnt
enable=1
gpgcheck=0
清除緩存:yum clean all 或者 yum makecache
掛載 mount /dev/sr0 /mnt
下載 yum install kvm virt-manager libvirt libvirt-python python-virtinst libvirt-client qemu-kvm qemu-img
也能夠用*代替
yum install kvm libvirt* qemu* virt-manager -y
安裝簡單版kvm
yum install kvm virt-manager libvirt*
kvm:核心套件
virt-manager:圖形化kvm管理軟件
virtsh:命令行管理kvm工具
libvirt:提供虛擬機與宿主機互通訊機制
libvirt-python:容許使用libvirt API
python-virtinst:CLI下建立kvm的工具(也就是命令行下)
libvirt-client:提供client訪問kvm服務器的機制,幷包含virsh命令進行管理和控制VMs
qemu-kvm:提供用戶級kvm環境
qemu-img:VMs(虛擬機)磁盤管理
(1)modprobe kvm 加載kvm模塊
(2)lsmod | grep kvm 查看是否加載成功
(3)systemctl start libvirtd
(4)systemctl enable libvirtd
(5)systemctl status libvirtd
看virsh list這個命令是否能使用
kvm網絡模式設置
1 NAT(默認上網):利用宿主機的ip進行上網
我一臺主機訪問另外一臺主機,訪問的這個動做不是由本身完成,而是由別人完成
2自帶的Bridge:有一個缺點,虛擬機和宿主機不能聯通
3 linuxBridge:建立一個橋接接口br0,在物理網卡和虛擬網絡接口之間傳遞數據。此種方式host卻能夠和vm聯通
linux Bridge配置:
Vim ifcfg-eth0
TYPE=Ethernet
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
Vim ifcfg-br0
TYPE=Bridge
NAME=br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.254.20
PREFIX=24(NETMASK=255.255.255.0)
GATEWAY=192.168.254.1
DNS=192.168.254.251
如何從命令行安裝圖形化界面
yum grouplist
yum groupinstall 「帶圖形的GUI」 -y
一 點擊應用程序 – 系統工具 -- 虛擬系統管理器(virt manager)
二 選中QEMU/KVM,點擊電腦的亮光
三 選擇本地安裝介質,前進
四 選擇使用ISO映像,將要安裝的系統光盤讀取進來
五 進行內存和大小設置
若是選擇了新建存儲大小,會在/var/lib/libvirt/images這裏建立屬於此虛擬機的磁盤文件
六 命名,並勾選在安裝前自定義配置,網絡選擇宿主機的
七 選擇引導選項 勾選啓用引導菜單和IDE CDROM 1還有VirtIO 磁盤 1
八 選擇IDE CDROM 1,選擇源路徑,進行鏈接,鏈接要安裝的操做系統光盤
九 然後安裝便可
就是在我一臺沒有開啓kvm的狀況下,去管理他的虛擬機
第一步 打開虛擬系統管理器
第二步 點擊文件 – 添加鏈接
管理程序選擇 QEMU/KVM
鏈接到遠程主機 勾選
用法 SSH
用戶名 root
主機名 要管理的ip
第三步 彈出Openssh
第一次彈出此處切記填yes或no,不是輸密碼
第二次彈出輸入密碼
鏈接成功後就會多出一臺QEMU/KVM