虛擬化架構與Centos7系統部署
1.什麼是虛擬化(Virtualization)
虛擬化,是指通過虛擬化技術將一台電腦虛擬為多台邏輯電腦。在一台電腦上同時運行多個邏輯電腦,每個邏輯電腦可運行不同的作業系統,並且應用程式都可以在相互獨立的空間內運行而互不影響,從而顯著提高電腦的工作效率。
虛擬化使用軟體的方法重新定義劃分IT資源,可以實現IT資源的動態分配、靈活調度、跨域共享,提高IT資源利用率,使IT資源能夠真正成為社會基礎設施,服務於各行各業中靈活多變的應用需求。
2.傳統運行模式
- 一台電腦只能夠運行一種作業系統

3.虛擬機(Virtual Machine)運行架構
3-1.原生架構(生產環境)
- 虛擬機軟體直接安裝在電腦硬體上
- 虛擬機本身就是一個作業系統
- 在這個虛擬機中可以同時運行多個作業系統

3-2.寄居架構(實驗環境、測試環境)
- 虛擬機作為應用軟體安裝在作業系統上
- 可以在此應用軟體上安裝多個作業系統
- 直接安裝在硬體上的系統為宿主

4.虛擬機的平台產品
4-1.微軟
- Hyper-V(寄居架構)
4-2.Vmware
- VMware Workstation(寄居架構)
- VMware vSphere(原生架構)
5.擴展
5-1.KVM kernel-based Virtual Machine
KVM是一個開源的系統虛擬化模組,自Linux 2.6.0之後集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。KVM目前已成為學術界的主流KVM之一。
KVM的虛擬化需要硬體支援(如Intel VT技術或者AMD V技術)。是基於硬體的完全虛擬化。而Xen早期則是基於軟體模擬的Para-Virtualization,新版本則是基於硬體支援的完全虛擬化。但Xen本身有自己的進程調度其,存儲管理模組等,所以程式碼較為龐大。廣為流傳的商業系統虛擬化軟體VMware ESX系列是基於軟體模擬的Full-Virtualization。
5.2-Docker開源的應用容器引擎
//www.sqlsec.com/2019/10/docker2.html
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發布到任何流行的Linux或Windows上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
一個完整的Docker有以下幾個部分組成:
DockerClient客戶端
Docker Daemon守護進程
Docker Image鏡像
DockerContainer容器
關於Docker詳情,請見「ARL資訊收集篇章」//zhuanlan.zhihu.com/p/187505981
6.作業系統 Operating System (OS)
6-1.簡介

6.2來歷

6.3功能

6.4分類
6.4.1-Windows
- Win PC版本:Win XP、Win7、Win10 Win XP常被用於銀行、ATM等更新換代比較慢的地方
- Windows Server伺服器:2003、2008、2012、2016、2019等。常用來搭建IIS,SQLServer伺服器等
6.4.2-類Unix:Linux、Mac OS等
- Unix/Linux系統 Ubuntu和CentOS被用來作為web伺服器,但是Ubuntu不如Centos常見
- Debian ——> Kali、Ubuntu、Deepin
- Red Hat ——> CentOS
6.5Linux特性

KDE:K Desktop Environment
- 一種著名的運行於 Linux、Unix 以及FreeBSD 等作業系統上的自由圖形桌面環境
6.6Linux作業系統優勢

7.安裝虛擬機Vmware Workstation Pro 16及win2008 R2+Centos7
7-1.Vmware Workstation安裝
- 完後需要輸入序列號
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
- Vmware Workstation Pro16硬體兼容性限制比Pro12 少很多

7.2-安裝Windows2008 R2 Enterprise
- 典型、稍後

- 韌體類型;記憶體和處理器2G,2+2即可,可之後根據需求進行再次修改

- 網路類型默認NAT,詳見下方講解
- I/O控制器類型、虛擬磁碟類型默認。底層電腦硬體,協議不一樣,速度不一樣,推薦什麼用什麼。SATA也一樣。那如果裝老系統,如XP,默認就選擇IDE,不然容易藍屏。


- 選擇磁碟:創建新的虛擬磁碟。現有磁碟的意思為使用物理機的磁碟空間(不建議)。若確定使用現有磁碟,則必須要有管理員的許可權。

- 指定磁碟空間。立即分配不建議,不然40GB直接就從物理機沒了,不勾選的話,會慢慢地去佔用物理機的磁碟空間。建議存儲為單個文件,拷貝的時候速度快。60GB電影和60GB碎片化文件,轉換速度和轉換率是不一樣的。之後更改名稱和路徑。

- 自定義硬體,一般來說去掉印表機、音效卡即可。需要特別注意USB控制器,根據掛載U盤或者硬碟的格式來定。之後選擇鏡像文件,進行下一步,準備安裝


- 安裝windows server 2008 R2 作業系統

- 因為電腦沒有windows系統,所以選擇自定義高級;反之可以升級

- 直接選擇硬碟然後它會自動格式化,如果沒有就自行格式化

7.3-安裝虛擬機Vmware Tools
- 如果這裡是灰色的,請重啟;如果不是直接安裝,點擊這個選項,相當於點擊了以下這個選項


- 出現此問題,請手動安裝或者掃描虛擬機

7.4-Vmware tools的功能
- 螢幕大小自適應
- ctrl+alt 真實與虛擬機切換滑鼠
- 克隆:注意克隆前需關閉虛擬機;兩種克隆方式,鏈接克隆方便,相當於快捷方式,但是依賴原先的虛擬機;完整克隆就是一個副本。無論哪種,都是為了解決新建相同作業系統浪費時間的問題。
- 快照:注意建立一個快照就會佔不少空間
- 可掛載外部USB
7.5-Windows Server 2008 R2 VMWare虛擬機識別USB3.0設備
- 使用VMware Workstation安裝的Windows Server 2008 R2系統虛擬機默認無法識別USB3.0設備
Windows Server 2008 R2系統虛擬接入USB3.0設備後系統提示「未能成功安裝設備驅動程式」

- 首先開啟VMware 虛擬機兼容 USB3.0

- 並根據提示網址下載USB3.0驅動程式

- 打開虛擬機,將下載好的USB3.0驅動程式上傳至虛擬機。安裝時可能出現以下報錯

- 此報錯解決辦法:安裝系統更新修補程式KB2533623即可

-
將下載的修補程式上傳至虛擬機進行安裝,安裝後重啟系統
-
重啟虛擬機後,再次安裝USB3.0設備驅動,之後重啟就ok了

7-6.安裝Centos7
- 前面同windows,到這裡開始。選擇第一個安裝;第二個是測試安裝文件並且安裝;第三個是修復故障

- 選擇美式鍵盤

- 設置時間


- 選擇需要安裝的軟體

- 重點:選擇Server with GUI,然後點擊done

- 選擇安裝位置,對磁碟進行劃分

- 選擇'我將會配置分區',則需要自己手動;選擇左邊的auto,自動就行了

- 設置root密碼和創建一個賬戶,之後等待下方安裝成功即可

7.7-虛擬機三種網路配置
橋接模式
-
虛擬機也會佔用區域網中的一個IP地址,並且可以和其他終端進行相互訪問。
-
如果想把虛擬機當做一台完全獨立的電腦看待,並且允許它和其他終端一樣的進行網路通訊,那麼橋接模式通常是虛擬機訪問網路的最簡單途徑
-
但是,這樣做並不安全,只能是做簡單的測試

NAT模式
- 從外部網路來看,虛擬機和主機在共享一個IP地址,默認情況下,外部網路終端也無法訪問到虛擬機

僅主機模式
- 僅主機模式,是一種比NAT模式更加封閉的的網路連接模式
- 僅主機模式的虛擬網路適配器僅對主機可見,並在虛擬機和主機系統之間提供網路連接
- 在默認情況下,使用僅主機模式網路連接的虛擬機無法連接到Internet

8.CentOS 7 配置靜態IP
-
首先配置網路前,先將虛擬網卡清理掉。
輸入下方命令,等待顯示出命令提示符,然後重啟CentOS 7即可關閉多餘的3,4虛擬網卡
systemctl disable libvirtd.service
reboot

- 輸入以下命令進入文件進行配置
cp /etc/sysconfig/network-scripts/ifcfg-ens33 etc/sysconfig/network-scripts/ifcfg-ens33.backup
vim /etc/sysconfig/network-scripts/ifcfg-ens33
將BOOTROTO=dhcp 改為BOOTPROTO=static;再將ONBOOT=no 改為yes


再在ONBOOT下方添加以下內容,並退出保存
IPADDR=192.168.91.100
GATEWAY=192.168.91.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
- 重啟網卡,這三種命令任選一種
systemctl restart network
service network restart
/etc/init.d/network restart
- 注意:ifconfig和netstat依賴於net_tools,有時候不能用,可以用ipaddr和ss來代替
當網卡崩潰時,嘗試輸入此命令調試
systemctl stop NetworkManager
systemctl diable NetworkManager
systemctl start network.service

