系列總索引: 中小企業計算機網絡:簡介
你好朋友!
如果您跟隨我們閱讀了迄今為止發表的文章,您將意識到我們正在遵循一條合理的道路,以便在家中獲得工作站或實驗室,並獲得在其中安裝虛擬機或服務器的必要支持。我們將為 區域網路 - 局域網 業務.
我們假設您閱讀:
- 中小企業計算機網絡:簡介
- 工作站安裝-中小企業計算機網絡
- 6個Debian台式機-中小企業計算機網絡
- Debian中的虛擬化:簡介-中小企業計算機網絡
- Debian上的Qemu-Kvm + Virt-Manager-中小企業計算機網絡
- Debian上的virt-commands-SMB的計算機網絡
- 中小企業計算機網絡中的CentOS
每篇文章中都包含以前的鏈接以及指向包含豐富信息的不同頁面和站點的外部鏈接,目的是使您獲得有關所涵蓋的不同主題的基本知識。
該帖子是所選路徑的邏輯延續。 您的閱讀和學習將使您對虛擬化的廣闊世界有所了解 Qemu-KVM 及其主要的書店 libvirt.
Virsh-用於管理虛擬域的主用戶界面
從以前的讀物中我們知道,Linux中的虛擬化意味著能夠在同一硬件平台上運行不同並發操作系統的多個實例。 利伯維爾特 是用 語言C,這使我們可以與最新版本的Linux以及其他操作系統的虛擬化功能進行交互。
我們可以使用該程序 維爾什 在虛擬域和託管它們的虛擬機管理程序上創建,暫停,關閉,列出以及更多其他操作。 該程序的名稱表明該程序是«VIR翻譯 ShELL“要么 虛擬化命令處理器.
以一種通用的方式,我們可以這樣調用它:
virsh [OPTION]...。 [參數] ...
- 命令:可以是其中之一 215個命令 稍後列出
- 域:域或虛擬機的名稱,或域的數字標識符ID,或域的UUID。
- 論點:每個命令特定的選項
上一條規則有幾個例外,例如在命令作用於所有域,計算機或直接作用於Xen Hypervisor的情況下- Xen虛擬機監控程序。 對於每個命令,都會清除此類異常。
注意: 儘管通過其數字ID標識虛擬機是有效的,但該數字值將始終被解釋為域ID,而不是其名稱。.
該 Virsh命令選項 聲音:
- -c,–connect URI:連接到 的URI «統一資源標識符» - 統一資源標識符,而不是本地管理程序的默認URI。
- - d,–debug等級: 啟用調試消息- 調試,直到整數LEVEL值,一個數字參數可以接受0到4之間的值。精確地4是默認值。
- -e,–轉義字符串:設置備用字符序列 當我們按下«鍵ESC«。 默認順序是 ^]。 允許的字符是:任何字母字符,@,[,],\,^,_。 我們建議 不要修改默認字符序列。
- -h,-help:忽略其他任何參數,其行為就像執行命令一樣 幫助.
- -k,–keepalive-interval間隔:設置以秒為單位的發送消息的時間間隔 活著,以檢查與服務器的連接是否仍然有效。 如果值 間隔 被設置為 0,則此檢查機制已禁用。
- -K,–keepalive-count COUNT:設置可以發送消息的次數 活著 沒有收到服務器的響應,也沒有將連接標記為無效。 如果先前選項的INTERVAL值設置為0,則此選項將不起作用。
- -l,–log文件:將操作日誌輸出定向到文件 FILE.
- -q,–安靜:避免在消息中使用其他信息。 靜音模式。
- -r,–只讀:初始連接建立在 只讀。 與使用選項時相同 -只讀 在命令 連.
- -t,–timing:顯示每個命令消耗的時間。
- -v,–version =短:忽略其他任何參數,僅顯示庫版本 libvirt 程序來自哪裡 維爾什.
- -V,–version =長:忽略任何其他參數並顯示庫版本 libvirt 程序來自哪裡 維爾什 而且,不同的管理程序,控制器- 驅動程序,編譯支持的網絡類型等。
筆記:
- 大多數命令操作 維爾什,假設書店 libvirt 能夠連接到服務 虛擬機 在行動。
- 大多數命令要求它們以用戶權限運行 根 由於它用於與虛擬機監控程序進行通信的通信渠道。 如果使用普通用戶的特權運行,它將返回錯誤。
- 大多數命令是同步執行的。 可能的例外是 關閉, 設置vpu y 設定記憶。 在這些情況下, 維爾什 返回 提示 命令,可能並不意味著該操作已成功完成。 應該定期檢查以檢查該訪客是否已完成操作- 客人.
有關內容的更多信息,請參見 人維爾什.
關於如何對待學習型病毒的建議
為了更輕鬆地獲得有關使用 超過200條命令, 維爾什 按關鍵字對它們進行分組- 幫助關鍵字, 哪個是:
- 域
- 監控
- 主持人
- 接口
- 過濾器
- 網絡
- 節點開發
- 秘密
- 快照
- 水池
- 體積
- 維爾什
buzz @ sysadmin:〜$ virsh幫助域 域管理(幫助關鍵字“域”):XML文件中的附加設備附加設備附加磁盤附加磁盤設備附加接口附加網絡接口自動啟動自動啟動域blkdeviotune設置或查詢塊設備的I / O調整參數。 blkiotune獲取或設置blkio參數blockcommit啟動塊提交操作。 blockcopy啟動塊複製操作。 blockjob管理活動的塊操作blockpull從其備份映像填充磁盤。 blockresize調整域塊設備的大小。 change-media CD或軟盤驅動器控制台的更改介質連接到來賓控制台cpu基線計算基準CPU cpu比較主機CPU與XML文件所描述的CPU cpu-stats顯示域cpu統計信息創建從XML文件創建域定義從XML文件中定義(但不啟動)域desc顯示或設置域的描述或標題destroy銷毀(停止)從XML文件中分離域的分離設備分離設備分離設備分離設備分離設備分離接口分離網絡接口domdisplay域顯示連接URI domfsfreeze凍結域的已掛載文件系統。 domfsthaw Thaw域的已掛載文件系統。 domfstrim在域的已掛載文件系統上調用fstrim。 buzz @ sysadmin:〜$ virsh幫助監視器 域監視(幫助關鍵字“ monitor”):domblkerror在塊設備上顯示錯誤domblkinfo域塊設備大小信息domblklist列出所有域塊domblkstat獲取域的設備塊統計信息domcontrol域控制接口狀態domif-getlink獲取虛擬接口的鏈接狀態domiflist列出所有域虛擬接口domifstat獲取域域的網絡接口統計信息dommemstat獲取域的內存統計信息domstate域狀態domstats獲取有關一個或多個域的統計信息domtime域時間列表列表域 buzz @ sysadmin:〜$ virsh幫助監視器 域監視(幫助關鍵字“ monitor”):domblkerror在塊設備上顯示錯誤domblkinfo域塊設備大小信息domblklist列出所有域塊domblkstat獲取域的設備塊統計信息domcontrol域控制接口狀態domif-getlink獲取虛擬接口的鏈接狀態domiflist列出所有域虛擬接口domifstat獲取域域的網絡接口統計信息dommemstat獲取域的內存統計信息domstate域狀態domstats獲取有關一個或多個域的統計信息domtime域時間列表列表域 buzz @ sysadmin:〜$ virsh幫助主機 主機和虛擬機監控程序(幫助關鍵字“主機”):分配頁操縱頁面池大小功能功能cpu模型CPU模型domcapabilities域功能freecell NUMA可用內存釋放頁NUMA可用頁主機名打印虛擬機管理程序主機名maxvcpus連接vcpu最大節點內存調整Get或設置節點內存參數nodecpumap node cpu map nodecpustats打印節點的cpu統計信息。 nodeinfo節點信息nodememstats打印節點的內存統計信息。 nodeuspend將主機節點掛起給定的持續時間sysinfo打印虛擬機管理程序sysinfo uri打印虛擬機管理程序規範URI版本show version buzz @ sysadmin:〜$ virsh幫助界面 接口(幫助關鍵字“接口”):iface-begin創建當前接口設置的快照,稍後可以提交(iface-commit)或恢復(iface-rollback)iface-bridge創建橋設備並連接現有網絡設備從iface開始和自由恢復點iface定義(但不啟動)從XML文件定義物理主機接口(如果iface-destroy破壞了物理主機接口(禁用它/“ if- down“)XML中的iface-dumpxml接口信息iface-edit編輯物理主機接口的XML配置iface-list列出物理主機接口iface-mac將接口名稱轉換為接口MAC地址iface-name將接口MAC地址轉換為接口名稱iface-rollback回滾到通過iface-begin創建的先前保存的配置iface-start啟動物理主機接口(啟用它/“ if-up”)iface-unbridge在分離其從屬設備後取消定義橋接設備iface-undefine取消定義phy sical主機接口(將其從配置中刪除) buzz @ sysadmin:〜$ virsh幫助過濾器 網絡過濾器(幫助關鍵字“過濾器”):nwfilter-define從XML文件定義或更新網絡過濾器nwfilter-dumpxml XML中的網絡過濾器信息nwfilter-edit編輯網絡過濾器的XML配置nwfilter-list列表網絡過濾器nwfilter-undefine取消定義網絡過濾器 buzz @ sysadmin:〜$ virsh幫助網絡 聯網(幫助關鍵字“ network”):net-autostart自動啟動網絡net-create從XML文件中創建網絡net-define(但不啟動)從XML文件中定義網絡net-destroy銷毀(停止)網絡net-dhcp-leases打印給定網絡的租賃信息net-dumpxml XML中的網絡信息net-edit編輯網絡net-event的XML配置Network Events net-info網絡信息net-list列表網絡net-name轉換網絡UUID到網絡名稱net-start啟動一個(先前定義的)非活動網絡net-undefine取消定義持久網絡net-update更新現有網絡配置的一部分net-uuid將網絡名稱轉換為網絡UUID buzz @ sysadmin:〜$ virsh幫助nodedev 節點設備(幫助關鍵字'nodedev'):nodedev-create在節點上創建由XML文件定義的設備nodedev-destroy銷毀(停止)節點上的設備nodedev-從節點設備驅動程序中分離節點設備nodedev-dumpxml節點XML nodedev-list中的設備詳細信息枚舉此主機上的設備nodedev-reattach重新將節點設備連接到其設備驅動程序nodedev-reset重置節點device 嗡嗡聲@ sysadmin:〜$ virsh幫助秘密 秘密(幫助關鍵字'secret'):秘密定義或修改XML文件中的秘密secret-dumpxml XML中的秘密屬性secret-get-value輸出秘密值秘密列表列表秘密secret-set-value設置一個秘密值秘密-未定義未定義秘密 buzz @ sysadmin:〜$ virsh幫助快照 快照(幫助關鍵字'snapshot'):快照創建從XML快照創建為as從一組args快照中創建快照-當前獲取或設置當前快照快照-刪除刪除域快照快照-dumpxml轉儲域快照快照的XML-編輯編輯快照快照的XML-信息快照信息快照列表列出域快照的快照-父級獲取快照快照的父級的名稱-還原將域恢復為快照 buzz @ sysadmin:〜$ virsh幫助池 存儲池(幫助關鍵字“池”):find-storage-pool-sources-as查找潛在的存儲池源find-storage-pool-sources發現潛在的存儲池源pool-autostart自動啟動池pool-build建立一個pool pool-創建-從一組args池創建一個池-創建從XML文件創建一個池pool-define-從一組args池中定義一個池-定義(但不啟動)來自XML的池文件池-刪除池-銷毀-銷毀(停止)池-dumpxml XML池中的池信息-編輯存儲池的XML配置池-信息存儲池信息池列表列表池池名稱轉換池將UUID更改為池名pool-refresh刷新池pool-開始啟動(先前定義的)非活動池-undefine取消定義非活動池pool-uuid將池名稱轉換為池UUID buzz @ sysadmin:〜$ virsh幫助卷 存儲卷(幫助關鍵字“ volume”):vol-clone克隆卷。 vol-create-as從一組args創建一個卷vol-create從XML文件創建一個vol vol-create-from創建一個vol,使用另一個卷作為輸入vol-delete刪除一個vol vol-download下載卷內容到在XML中的文件vol-dumpxml vol信息vol-info存儲中的vol信息vol-key返回給定的捲名或路徑的捲密鑰vol-list list vol-vol返回給定的捲名或路徑的捲名path返回給定卷名或鍵卷的捲路徑,vol-pool返回給定卷鍵或路徑的存儲池vol-resize調整捲的大小vol-upload上傳文件內容到卷上vol-wipewipe vol buzz @ sysadmin:〜$ virsh幫助virsh Virsh本身(幫助關鍵字“ virsh”):cd更改當前目錄connect(重新)連接到管理程序echo echo echo arguments exit退出此交互式終端help print help pwd打印當前目錄quit退出此交互式終端
有關列出的任何命令的特定幫助
我們必須執行 virsh幫助。 例子:
buzz @ sysadmin:〜$ virsh幫助列表 名稱列表-列出域概要列表[-非活動] [-全部] [-瞬態] [-持久] [-有快照] [-無快照] [-狀態運行] [- -state-paused] [--state-shutoff] [--state-other] [--autostart] [--no-autostart] [--with-managed-save] [--without-managed-save] [ --uuid] [--name] [--table] [--managed-save] [--title]描述返回域列表。 選項-非活動列表非活動域-所有列表非活動和活動域-瞬態列表瞬態域-持久列表永久域-有快照列表域並具有現有快照-無快照列表域不具有快照--state -處於運行狀態的運行列表域-處於暫停狀態的狀態暫停列表域-處於關閉狀態的狀態關閉列表域-處於其他狀態的狀態-其他列表域-啟用了自動啟動功能的自動啟動列表域-無自動啟動禁用自動啟動的列表域-具有託管保存狀態的託管保存列表域-不具有託管保存狀態的託管保存列表域--uuid list uuid僅--name僅列出域名--table list table(默認)--managed-save標記具有託管保存狀態的非活動域--title顯示域標題 buzz @ sysadmin:〜$ virsh幫助關閉 NAME關機-正常關機域大綱關機[ - 模式]描述在目標域中運行關機。 選項[--domain] 域名,id或uuid --mode 關閉模式:acpi |代理| initctl |信號| paravirt
使用virsh命令的示例
Virsh版本
嗡嗡聲@ sysadmin:〜$ virsh -v 1.2.9 嗡嗡聲@ sysadmin:〜$ virsh -V libvirt 1.2.9的Virsh命令行工具,請參見http://libvirt.org/上的網站。編譯支持:虛擬機監控程序:QEMU / KVM LXC UML Xen LibXL OpenVZ VMWare VirtualBox測試網絡:遠程網絡橋接接口netcf Nwfilter VirtualPort存儲:目錄磁盤文件系統SCSI多路徑iSCSI LVM RBD牧羊犬其他:守護進程Nodedev AppArmor SELinux機密調試DTrace Readline模塊化
進入virsh控制台
嗡嗡聲@ sysadmin:〜$ sudo virsh 嗡嗡聲的[sudo]密碼:歡迎使用虛擬化交互式終端virsh。 輸入:'help'獲得有關命令'quit'的幫助
列出所有網域
virsh# 清單-全部 ID名稱狀態----------------------------------------------- ------dns關閉-miweb關閉-sysadmin-centos關閉
啟動DNS域
virsh# 啟動DNS 域dns已啟動 virsh# domdisplay DNS 香料://127.0.0.1:5900
列出存儲量
virsh#池列表 名稱狀態自動啟動-------------------------------------------默認活動無虛擬機-圖像激活是 virsh#池信息默認 名稱:默認UUID:3d158e62-6237-464f-9d8f-07ac98be56dc狀態:正在運行持久:是自動啟動:否容量:14.64 GiB分配:5.18 GiB可用:9.46 GiB virsh#池信息vms-images 名稱:vms-images UUID:72e1b63d-3d90-4f02-bfde-197fd00f3b94狀態:運行持久:是自動啟動:是容量:916.77 GiB分配:464.22 GiB可用:452.55 GiB
列出卷中包含的圖像
virsh#vol-list vms-images 名稱路徑------------------------------------------------ ------------------------------ CentOS-7-x86_64-Everything-1511.iso / tera / vms / CentOS-7- x86_64-Everything-1511.iso dns.qcow2 /tera/vms/dns.qcow2 miweb.qcow2 /tera/vms/miweb.qcow2 openSUSE-13.2-DVD-x86_64.iso /tera/vms/openSUSE-13.2-DVD-x86_64 .iso sysadmin-centos.qcow2 /tera/vms/sysadmin-centos.qcow2 sysadmin.qcow2 /tera/vms/sysadmin.qcow2 virsh#vol-info dns.qcow2 --pool vms映像 名稱:dns.qcow2類型:文件容量:10.00 GiB分配:1.56 GiB
在卷上創建磁盤映像
virsh#vol-create-as --pool vms-images --name dns2.raw --capacity 20G Vol dns2.raw已創建 virsh#vol-list vms-images 名稱路徑------------------------------------------------ ------------------------------ CentOS-7-x86_64-Everything-1511.iso / tera / vms / CentOS-7- x86_64-Everything-1511.iso dns.qcow2 /tera/vms/dns.qcow2 dns2.raw /tera/vms/dns2.raw miweb.qcow2 /tera/vms/miweb.qcow2 openSUSE-13.2-DVD-x86_64.iso /tera/vms/openSUSE-13.2-DVD-x86_64.iso sysadmin-centos.qcow2 /tera/vms/sysadmin-centos.qcow2 sysadmin .qcow2 /tera/vms/sysadmin.qcow2
將新創建的映像加入正在運行的域
virsh#domstate DNS 運行 virsh#dominfo dns ID:4名稱:dns UUID:9e69ebc6-213e-42f7-99bf-83b333e93958 OS類型:hvm狀態:運行的CPU(s):1 CPU時間:25.2s最大內存:262144 KiB使用的內存:262144 KiB持久性:是自動啟動:禁用託管保存:否安全性模型:無安全性DOI:0 virsh#domblklist dns 目標來源------------------------------------------------ vda /tera/vms/dns.qcow2 hda- virsh#附加磁盤dns /tera/vms/dns2.raw vdb --persistent --live 磁盤連接成功 virsh#domblklist dns 目標來源------------------------------------------------ vda /tera/vms/dns.qcow2 vdb /tera/vms/dns2.raw hda- virsh#domblkstat dns vda vda rd_req 5438 vda rd_bytes 67512320 vda wr_req 405 vda wr_bytes 2854912 vda flush_operations 14 vda rd_total_times 20533958076 vda wr_total_times 423498369 vda flush_total_times 232141607 virsh#domblkstat dns vdb vdb rd_req 117 vdb rd_bytes 479232 vdb wr_req 0 vdb wr_bytes 0 vdb flush_operations 0 vdb rd_total_times 28976780 vdb wr_total_times 0 vdb flush_total_times 0
我們對新磁盤進行分區,格式化和掛載
virsh# 退出
buzz @ sysadmin:〜$ ssh buzz@192.168.10.5 buzz@192.168.10.5的密碼: 嗡嗡聲@ DNS:〜$ sudo fdisk / dev / vdb 嗡嗡聲的[sudo]密碼:歡迎使用fdisk(util-linux 2.25.2)。 更改將僅保留在內存中,直到您決定將其寫入為止。 使用write命令之前,請小心。 命令(m尋求幫助):n分區類型p主(0主,0擴展,4空閒)e擴展(邏輯分區的容器)選擇(默認p):p分區號(1-4,默認1):第一個扇區(2048-41949951,默認2048):最後一個扇區,+個扇區或+大小{K,M,G,T,P}(2048-41949951,默認41949951):創建了類型為'Linux'且大小為1的新分區20 GiB。 命令(m尋求幫助):p磁盤/ dev / vdb:20 GiB,21478375424字節,41949952扇區單位:1 * 512的扇區= 512字節扇區大小(邏輯/物理):512字節/ 512字節I / O大小(最小/最佳):512字節/ 512字節Disklabel類型:dos磁盤標識符:0x12e1497e設備啟動開始端扇區大小ID類型/ dev / vdb1 2048 41943039 41940992 20G 83 Linux命令(m尋求幫助):w分區表已更改。 調用ioctl()重新讀取分區表。 同步磁盤。 嗡嗡聲@ dns:〜$ sudo mkfs.ext4 / dev / vdb1 嗡嗡聲@ dns:〜$ sudo fdisk -l 磁盤/ dev / vda:10 GiB,10737418240字節,20971520扇區單位:1 * 512的扇區= 512字節扇區大小(邏輯/物理):512字節/ 512字節I / O大小(最小/最佳):512字節/ 512字節Disklabel類型:兩個磁盤標識符:0xb1e40216設備啟動開始端扇區大小ID類型/ dev / vda1 * 2048 20013055 20011008 9.6G 83 Linux / dev / vda2 20015102 20969471 954370 466M 5 Extended / dev / vda5 20015104 20969471 954368 466M 82 Linux swap / Solaris Disk / dev / vdb:20 GiB,21478375424字節,41949952扇區單位:1 * 512的扇區= 512字節的扇區大小(邏輯/物理):512字節/ 512字節的I / O大小(最小/最佳): 512字節/ 512字節Disklabel類型:dos磁盤標識符:0x12e1497e設備啟動起始端扇區大小ID類型/ dev / vdc1 2048 41943039 41940992 20G 83 Linux 嗡嗡聲@ dns:〜$ sudo mkdir /存儲 嗡嗡聲@ dns:〜$ sudo nano / etc / fstab / dev / vdb1 /存儲ext4默認值0 0 嗡嗡聲@ dns:〜$ sudo mount -a buzz @ dns:〜$ ls -l / total store 16 drwx ------ 2 root root 16384 10月17日34:XNUMX丟失+找到
我們回到virsh控制台
嗡嗡聲@ sysadmin:〜$ sudo virsh歡迎來到虛擬化交互式終端virsh。 鍵入:'help'以獲取有關命令'quit'退出的幫助 virsh#
我們關掉
virsh#domstate DNS 運行 virsh#關閉DNS 域dns正在關閉
總結
到目前為止,我們已經沿著Virsh海的海岸航行。 😉有關更多信息,請執行以下命令 人維爾什。 但是,我們保留了一個純文本文件,名為 virsh-幫助.txt 我們使使用Super Command來管理和管理Hypervisor及其虛擬機的人的生活更加輕鬆。
我們強烈建議 在生產環境之外測試命令.
我想使用Virsh做更多事情,目前僅基礎知識,啟動,停止,其他所有我使用virt-manager的東西,我都希望您可以讓N台服務器運行libvirt,並使用virt-manager從您的工作站進行管理。
你好朋友Dhunter! 我已經在上班了下載文件virsh-help.txt,這將對您有很大幫助。 我是從virsh控制臺本身製作的,然後製作了腳本來填充它。 我認為,通過幫助的關鍵字進行組織,它更可飲用。 在下一篇文章中,我將介紹有關此命令的更多主題。
問候費德里科。 我關注了您關於中小企業的有趣文章。 使用控制台進行快速,有效的管理顯然更加容易。 它們還消耗更少的資源。 我等待您的下一次交貨。
費德里科,你已經認識我了。 謝謝您給我們的禮物。 優秀的帖子,我一直在等待有關virsh的文章。 謝謝兄弟,我們都會知道如何正確使用它。
不客氣,克雷斯波88。為此我們在 DesdeLinux.
你好,我對virsh命令的潛力感到驚訝,我找不到合適的詞來形容我對此的想法,令人難以置信,而您在帖子中公開的內容只是筆觸,用自己的話說吧?沿著維爾希海的海岸航行。”
當您解釋如何使用關鍵字來研究virsh幫助時,此功能非常有用。
在卷上創建磁盤映像並將其加入(添加)到運行的域(或MV)中的一個很好的開發示例,全部使用virsh; 然後從我們的WK系統管理員通過SSH連接到域,並在其中創建分區及其ext4文件系統,最後從fstab掛載它。
關於virt qemu-kvm系列的下一篇文章,沒有什麼值得關注的,非常感謝您分享所有這些內容。
朋友黃,您已經明白了要點。 如果僅通過介紹Virsh命令,就可以創造奇蹟,為什麼不繼續研究和使用它。 維爾什 根據定義,它是Qemu-KVM接口,由其在Red Hat,Inc的創建者構思並由該大公司贊助。 儘管我們知道還有其他接口,例如Virt-Manager和oVirt,但是Virsh仍然是處理庫的最完整的接口 libvirt。 感謝朋友黃先生的寶貴意見。