成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

快速搭建 kvm web 管理工具 WebVirtMgr

番茄西紅柿 / 3360人閱讀

摘要:作者運(yùn)維博客博客地址文章地址相關(guān)話題是近兩年來發(fā)展較快,比較活躍,非常清新的一個(gè)管理平臺,提供對宿主機(jī)和虛機(jī)的統(tǒng)一管理,它有別于自帶的圖形管理工具,讓管理變得更為可視化,對中小型應(yīng)用場景帶來了更多方便。


作者:SRE運(yùn)維博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211117937177/

相關(guān)話題:https://www.cnsre.cn/tags/kvm/


WebVirtMgr是近兩年來發(fā)展較快,比較活躍,非常清新的一個(gè)KVM管理平臺,提供對宿主機(jī)和虛機(jī)的統(tǒng)一管理,它有別于kvm自帶的圖形管理工具(virtual machine manager),讓kvm管理變得更為可視化,對中小型kvm應(yīng)用場景帶來了更多方便。

WebVirtMgr介紹

WebVirtMgr采用幾乎純Python開發(fā),其前端是基于Python的Django,后端是基于Libvirt的Python接口,將日常kvm的管理操作變的更加的可視化。

  • WebVirtMgr 特點(diǎn)

操作簡單,易于使用 、通過libvirt的API接口對kvm進(jìn)行管理、提供對虛擬機(jī)生命周期管理

  • WebVirtMgr 功能

宿主機(jī)管理支持以下功能、CPU利用率、內(nèi)存利用率、網(wǎng)絡(luò)資源池管理、存儲資源池管理、虛擬機(jī)鏡像、虛擬機(jī)克隆、快照管理、日志管理、虛機(jī)遷移、虛擬機(jī)管理支持以下功能、CPU利用率、內(nèi)存利用率、光盤管理、關(guān)/開/暫停虛擬機(jī)、安裝虛擬機(jī)、VNC console連接、創(chuàng)建快照

官方文檔

https://github.com/retspen/webvirtmgr/wiki/Install-WebVirtMgr

安裝前的部署

安裝一些依賴包

yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx gcc python-devel wget vim net-tools lrzsz 

安裝pip

wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip -V 

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

pip install numpy

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

安裝python的需要包和配置Django環(huán)境

git clone git://github.com/retspen/webvirtmgr.git

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

安裝nginx

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx -y

安裝supervisor

安裝參考

https://www.2cto.com/kf/201712/702837.html

開機(jī)自啟參考

https://blog.csdn.net/binggoogle/article/details/53203991

cat  /etc/supervisord.conf

{{< alert theme="warning" dir="ltr" >}}
?? 注意

如果沒有這個(gè)文件按照一下步驟安裝

有的話忽略此步驟
{{< /alert >}}

pip install supervisormkdir /etc/supervisord.d/echo_supervisord_conf > /etc/supervisord.conf

新建文件夾

vim /etc/supervisord.d/app.conf

配置文件 app.conf

內(nèi)容為

[program:appname]command=/root/soft/push.apidirectory=/root/soft/push.apiautostart=trueautorestart=trueuser=rootstdout_logfile = /var/log/supervisor/pushapi.logstderr_logfile = /var/log/supervisor/pushapi-error.log

修改 在配置文件最下方修改為

vim  /etc/supervisord.conf[include]files = /etc/supervisord.d/*.ini

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

supervisord -c /etc/supervisord.conf/usr/bin/supervisorctl start all/usr/bin/supervisorctl stop all

安裝環(huán)境

cd webvirtmgr pip install -r requirements.txt 

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

./manage.py syncdb

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

創(chuàng)建用戶

輸入以下用戶信息

You just installed Djangos auth system, which means you dont have any superusers defined.Would you like to create one now? (yes/no): yesUsername (leave blank to use root): adminEmail address: [email protected]: adminPassword (again):admin Superuser created successfully.Installing custom SQL ...Installing indexes ...Installed 6 object(s) from 1 fixture(s)./manage.py collectstatic

配置一個(gè)超級用戶

./manage.py createsuperuser

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

WARNING:root:No local_settings file found.Username (leave blank to use root): yesEmail address: [email protected]: Lenovo@123Password (again): Lenovo@123Superuser created successfully.

設(shè)置nginx

a、使用:8000端口

移動(dòng)這個(gè) webvirtmgr 目錄到 /var/www

cd  ..mv webvirtmgr /var/www/

{{< alert theme="warning" dir="ltr" >}}
?? 注意:
webvirtmgr 目錄下還有一個(gè)名稱為webvirtmgr 的文件夾
不要多帶帶移動(dòng) webvirtmgr/webvirtmgr 文件
{{< /alert >}}

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

編輯配置文件

vim /etc/nginx/conf.d/webvirtmgr.confserver {    listen 80 default_server;    server_name $hostname;    #access_log /var/log/nginx/webvirtmgr_access_log;     location /static/ {        root /var/www/webvirtmgr/webvirtmgr; # or /srv instead of /var        expires max;    }    location / {        proxy_pass http://127.0.0.1:8000;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;        proxy_set_header Host $host:$server_port;        proxy_set_header X-Forwarded-Proto $scheme;        proxy_connect_timeout 600;        proxy_read_timeout 600;        proxy_send_timeout 600;        client_max_body_size 1024M; # Set higher depending on your needs     }}

啟動(dòng)nginx并設(shè)置開機(jī)自啟動(dòng)

(如果不設(shè)置開機(jī)自啟動(dòng),重啟服務(wù)器supervisor無法管理Django進(jìn)程),并開機(jī)自啟動(dòng)supervisord

/etc/init.d/nginx start

或者

systemctl restart   nginx systemctl enable supervisord 

分配權(quán)限

chown nginx.nginx /var/www/webvirtmgr

設(shè)置supervisor

/etc/supervisord.conf末尾加入下面的配置:

vi /etc/supervisord.conf[program:webvirtmgr]command=/usr/bin/python /var/www/webvirtmgr/manage.py run_gunicorn -c /var/www/webvirtmgr/conf/gunicorn.conf.pydirectory=/var/www/webvirtmgrautostart=trueautorestart=truelogfile=/var/log/supervisor/webvirtmgr.loglog_stderr=trueuser=nginx[program:webvirtmgr-console]command=/usr/bin/python /var/www/webvirtmgr/console/webvirtmgr-consoledirectory=/var/www/webvirtmgrautostart=trueautorestart=true#stdout_logfile=/var/log/supervisor/webvirtmgr-console.logredirect_stderr=trueuser=nginx	

{{< alert theme="warning" dir="ltr" >}}
?? 注意

進(jìn)程無法啟動(dòng)或者報(bào)錯(cuò) 可以選擇吧 log 注釋取消
{{< /alert >}}

重啟supervisord

開機(jī)自啟參考

https://blog.csdn.net/binggoogle/article/details/53203991

設(shè)置完之后重啟即可

systemctl restart  supervisord.servicesystemctl enable  supervisord.servicesystemctl status   supervisord.service 

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

更新

cd /var/www/webvirtmgr git pull

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

./manage.py collectstatic

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

systemctl  restart supervisord

如果有錯(cuò)誤或不運(yùn)行

 ./manage.py runserver 0:8000#或者后臺運(yùn)行腳本nohup python  /var/www/webvirtmgr/manage.py runserver 0:8000  >/dev/null &nohup python  /var/www/console/webvirtmgr-console   >/dev/null &

訪問:http://x.x.x.x:8000(x.x.x.x - your server IP address ),輸入創(chuàng)建的用戶和密碼,如果沒有創(chuàng)建,請用python manager.py createsuperuser,命令創(chuàng)建。登錄后如下圖所示

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

配置虛擬機(jī)所在宿主機(jī)

webvirtmgr客戶端就這樣搭建完了,接下來需要配置虛擬機(jī)所在宿主機(jī)的,參考git地址.

配置宿主機(jī)

下載并執(zhí)行腳本

如果虛擬機(jī)比較多,該腳本執(zhí)行時(shí)間會(huì)比較長,因?yàn)闀?huì)執(zhí)行 service libvirt-guests restart,會(huì)將所有運(yùn)行的虛擬機(jī)掛起然后再恢復(fù),感覺這一步不是必須的,因?yàn)槲矣幸慌_只設(shè)置ssh認(rèn)證,也可以正常連接。

curl http://retspen.github.io/libvirt-bootstrap.sh | sudo sh

如果沒有curl就用wget

wget -O - http://retspen.github.io/libvirt-bootstrap.sh | sudo sh

配置防火墻

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 16509 -j ACCEPT

設(shè)置TCP授權(quán)

參考:https://github.com/retspen/webvirtmgr/wiki/Setup-TCP-authorization

webvirtmgr新建服務(wù)器連接時(shí)需要此賬號

用saslpasswd2命令給libvirt的用戶cnsre設(shè)置密碼

saslpasswd2 -a libvirt cnsrePassword: cnsreAgain (for verification): cnsre

生成一個(gè)密碼庫

sasldblistusers2 -f /etc/libvirt/passwd.db [email protected]: userPassword

設(shè)置ssh授權(quán)

ssh-keygen -t rsa       # 產(chǎn)生公私鑰

直接回車,回車,回車

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

ssh-copy-id 192.168.1.120  

{{< alert theme="warning" dir="ltr" >}}
?? 注意

由于這里webvirtmgr和kvm服務(wù)部署在同一臺機(jī)器,所以這里本地信任。

如果kvm部署在其他機(jī)器,那么這個(gè)是其他它的ip 同時(shí)也要設(shè)置ssh key密鑰
{{< /alert >}}

提示輸入密碼的時(shí)候直接輸入之前1.120的密碼

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

ssh 192.168.1.120 -L localhost:8000:localhost:8000 -L localhost:6080:localhost:6080

web 平臺加入其他kvm宿主機(jī)

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

在部署web管理的主機(jī)上執(zhí)行命令

ssh-keygen -t rsa

然后在執(zhí)行

ssh-copy-id 192.168.1.165

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

添加新的kvm宿主機(jī)

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

查看新加的kvm宿主機(jī)狀態(tài) 看有無報(bào)錯(cuò)

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

刪除新加的賬號

sudo saslpasswd2 -a libvirt -d cnsre

確認(rèn)驗(yàn)證新加的賬號配置

virsh -c qemu+tcp://IP_address/system nodeinfo(virsh -c qemu+tcp://192.168.1.50/system nodeinfo)Please enter your authentication name: cnsrePlease enter your password: xxxxxxCPU model:           x86_64CPU(s):              2CPU frequency:       2611 MHzCPU socket(s):       1Core(s) per socket:  2Thread(s) per core:  1NUMA cell(s):        1Memory size:         2019260 kB

{{< alert theme="warning" dir="ltr" >}}
?? 注意

賬號全名帶hostname,如 [email protected]

測試的時(shí)候這一步測試沒有成功 但是可以鏈接
{{< /alert >}}

設(shè)置ssh認(rèn)證

{{< notice warning "注意" >}}
ssh和tcp設(shè)置一種即可,其實(shí)就是設(shè)置無密碼登錄,要注意的是從webvirtmgr的什么用戶到宿主機(jī)的什么用戶的無密碼登錄,比如我用root跑的django webvirtmgr,而宿主機(jī)也是root跑的virsh,所以需要設(shè)置root到root的無密碼登錄。而git官網(wǎng)推薦的是用nginx用戶跑django webvirtmgr,webvirtmgr用戶跑的virsh,所以設(shè)置的是nginx用戶到宿主機(jī)webvirtmgr用戶的無密碼登錄。
{{< /notice >}}

參考:https://github.com/retspen/webvirtmgr/wiki/Setup-SSH-Authorizatio

使用tcp認(rèn)證連接服務(wù)器

訪問:http://192.168.1.120:8000,xxxx是webvirtmgr的ip地址,點(diǎn)擊new connection

填寫kvm宿主機(jī)的一些信息

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

基礎(chǔ)架構(gòu)可以看到一些vm虛擬機(jī)

sre運(yùn)維|Linux運(yùn)維|自動(dòng)化運(yùn)維|關(guān)鍵詞

KVM WEB管理常見報(bào)錯(cuò)

網(wǎng)頁控制臺 遠(yuǎn)程鏈接報(bào)錯(cuò)1006

安裝vnc即可

yum install -y novnc

網(wǎng)頁控制臺 遠(yuǎn)程鏈接報(bào)錯(cuò)505

cd /var/www/console/./webvirtmgr-console  &

后臺運(yùn)行腳本

nohup python  /var/www/webvirtmgr/manage.py runserver 0:8000  >/dev/null & nohup python  /var/www/console/webvirtmgr-console   >/dev/null &

作者:SRE運(yùn)維博客

博客地址: https://www.cnsre.cn/

文章地址:https://www.cnsre.cn/posts/211117937177/

相關(guān)話題:https://www.cnsre.cn/tags/kvm/


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123641.html

相關(guān)文章

  • Docker簡介

    摘要:近期非?;馃?,無論是從上的代碼活躍度,還是宣布在中正式支持,都給業(yè)界一個(gè)信號,這是一項(xiàng)創(chuàng)新型的技術(shù)解決方案??梢院喕渴鸲喾N應(yīng)用實(shí)例工作,比如應(yīng)用后臺應(yīng)用數(shù)據(jù)庫應(yīng)用大數(shù)據(jù)應(yīng)用比如集群消息隊(duì)列等等都可以打包成一個(gè)部署。 1. docker是什么 Docker is an open-source engine that automates the deployment of any...

    李義 評論0 收藏0
  • Nginx+Tomcat整合體驗(yàn)

    摘要:題外話,由于使用經(jīng)常需要編輯,我們可以借助來使語法高亮,看起來更清晰明了。移動(dòng)到目錄在中添加再打開,已經(jīng)有語法高亮了里面提供了很多可以調(diào)節(jié)優(yōu)化的地方,這里簡要了解模塊的幾個(gè)常用參數(shù)。允許或禁止基于請求響應(yīng)的壓縮。表示匹配的路徑。 Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。在Java的Web架構(gòu)中,通常使用Tomcat和Nginx進(jìn)行...

    heartFollower 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<