中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么安裝部署及管理KVM虛擬化

發布時間:2021-10-29 11:17:28 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

本篇內容介紹了“怎么安裝部署及管理KVM虛擬化”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    1.kvm部署

    1.1 kvm安裝

    //關閉防火墻和selinux
    [root@kvm ~]# systemctl disable --now firewalld.service 
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@kvm ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
    [root@kvm ~]# reboot
    
    //下載epel源和工具包
    [root@kvm ~]# yum -y install epel-release vim wget net-tools unzip zip gcc gcc-c++
    
    //驗證CPU是否支持KVM;如果結果中有vmx(Intel)或svm(AMD)字樣,就說明CPU的支持的
    [root@kvm ~]# egrep -o 'vmx|svm' /proc/cpuinfo
    
    //安裝kvm
    [root@kvm ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils libguestfs-tools
    
    //橋接網卡,用br0來橋接ens160網卡
    [root@kvm ~]# cd /etc/sysconfig/network-scripts/
    [root@kvm network-scripts]# cp ifcfg-ens33 ifcfg-br0
    [root@kvm network-scripts]# cat ifcfg-br0 
    TYPE=Bridge
    DEVICE=br0
    NM_CONTROLLED=no
    BOOTPROTO=static
    NAME=br0
    ONBOOT=yes
    IPADDR=192.168.237.131
    NETMASK=255.255.255.0
    GATEWAY=192.168.237.2
    DNS1=114.114.114.114
    DNS2=8.8.8.8
    [root@kvm network-scripts]# cat ifcfg-ens33 
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes
    BRIDGE=br0
    NM_CONTROLLED=no
    
    //重啟網絡
    [root@kvm ~]# systemctl restart network
    [root@kvm ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
        link/ether 00:0c:29:7b:10:a5 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::20c:29ff:fe7b:10a5/64 scope link 
           valid_lft forever preferred_lft forever
    3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:0c:29:7b:10:a5 brd ff:ff:ff:ff:ff:ff
        inet 192.168.237.131/24 brd 192.168.237.255 scope global br0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe7b:10a5/64 scope link 
           valid_lft forever preferred_lft forever
    4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:1c:33:d6 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
        link/ether 52:54:00:1c:33:d6 brd ff:ff:ff:ff:ff:ff
    
    //啟動服務
    [root@kvm ~]# systemctl enable --now libvirtd
    
    //驗證安裝結果
    [root@kvm ~]# lsmod|grep kvm
    kvm_intel             188740  0 
    kvm                   637289  1 kvm_intel
    irqbypass              13503  1 kvm
    
    //測試
    [root@kvm ~]# virsh -c qemu:///system list
     Id    名稱                         狀態
    ----------------------------------------------------
    
    [root@kvm ~]# virsh --version
    4.5.0
    [root@kvm ~]# virt-install --version
    1.5.0
    [root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
    [root@kvm ~]# ll /usr/bin/qemu-kvm
    lrwxrwxrwx 1 root root 21 10月 20 23:14 /usr/bin/qemu-kvm -> /usr/libexec/qemu-kvm
    
    //查看網橋信息
    [root@kvm ~]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.000c297b10a5       no              ens33
    virbr0          8000.5254001c33d6       yes             virbr0-nic

    1.2 kvm web管理界面安裝

    kvm 的 web 管理界面是由 webvirtmgr 程序提供的。

    //安裝依賴包
    [root@kvm ~]# yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx python-devel
    //從github上下載webvirtmgr代碼
    [root@kvm ~]# cd /usr/local/src/
    [root@kvm src]# git clone git://github.com/retspen/webvirtmgr.git
    正克隆到 'webvirtmgr'...
    remote: Enumerating objects: 5614, done.
    remote: Total 5614 (delta 0), reused 0 (delta 0), pack-reused 5614
    接收對象中: 100% (5614/5614), 2.97 MiB | 29.00 KiB/s, done.
    處理 delta 中: 100% (3606/3606), done.
    //安裝webvirtmgr
    [root@kvm src]# cd webvirtmgr/
    [root@kvm webvirtmgr]# pip install -r requirements.txt 
    Collecting django==1.5.5 (from -r requirements.txt (line 1))
      Downloading https://files.pythonhosted.org/packages/38/49/93511c5d3367b6b21fc2995a0e53399721afc15e4cd6eb57be879ae13ad4/Django-1.5.5.tar.gz (8.1MB)
        100% |████████████████████████████████| 8.1MB 49kB/s 
    ......
    //檢查sqlite3是否安裝
    [root@kvm webvirtmgr]# python
    Python 2.7.5 (default, Nov 16 2020, 22:23:17) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sqlite3
    >>> exit()
    //初始化賬號信息
    [root@kvm webvirtmgr]# python manage.py syncdb
    WARNING:root:No local_settings file found.
    Creating tables ...
    Creating table auth_permission
    Creating table auth_group_permissions
    Creating table auth_group
    Creating table auth_user_groups
    Creating table auth_user_user_permissions
    Creating table auth_user
    Creating table django_content_type
    Creating table django_session
    Creating table django_site
    Creating table servers_compute
    Creating table instance_instance
    Creating table create_flavor
    You just installed Django's auth system, which means you don't have any superusers defined.
    Would you like to create one now? (yes/no): yes
    Username (leave blank to use 'root'): admin
    Email address: 123@qq.com
    Password: 
    Password (again): 
    Superuser created successfully.
    Installing custom SQL ...
    Installing indexes ...
    Installed 6 object(s) from 1 fixture(s)
    //拷貝web網頁至指定目錄
    [root@kvm webvirtmgr]# mkdir /var/www
    [root@kvm webvirtmgr]# cp -r /usr/local/src/webvirtmgr /var/www/
    [root@kvm webvirtmgr]# chown -R nginx.nginx /var/www/webvirtmgr/
    //生成密鑰
    [root@kvm ~]# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:icyLAYmyxABKsogsIHmJqGjSby0ogFwf1p2zeiPwuxY root@kvm
    The key's randomart image is:
    +---[RSA 2048]----+
    |O+ .  . . .      |
    |/ooo o . +       |
    |&*+ o .   o      |
    |X+.. = . o       |
    |=  o..* S        |
    |. . +o.E o       |
    | . .... = .      |
    |       o         |
    |      ...        |
    +----[SHA256]-----+
    [root@kvm ~]# ssh-copy-id 192.168.237.131
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    The authenticity of host '192.168.237.131 (192.168.237.131)' can't be established.
    ECDSA key fingerprint is SHA256:/AR9dYUN0PN9LOHYWfHeUe5LgyczVMH9mYv9+2GcAbM.
    ECDSA key fingerprint is MD5:30:f6:de:5a:7d:c2:08:b5:b7:31:61:4a:4e:dd:32:73.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@192.168.237.131's password: 
    Number of key(s) added: 1
    Now try logging into the machine, with:   "ssh '192.168.237.131'"
    and check to make sure that only the key(s) you wanted were added.
    //配置端口轉發
    [root@kvm ~]# ssh 192.168.237.131 -L localhost:8000:localhost:8000 -L localhost:6080:localhost:60
    Last login: Wed Oct 20 23:12:00 2021 from 192.168.237.1
    [root@kvm ~]# ss -anlt
    State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
    LISTEN     0      128              127.0.0.1:6080                                 *:*                  
    LISTEN     0      128              127.0.0.1:8000                                 *:*                  
    LISTEN     0      128                      *:111                                  *:*                  
    LISTEN     0      5            192.168.122.1:53                                   *:*                  
    LISTEN     0      128                      *:22                                   *:*                  
    LISTEN     0      100              127.0.0.1:25                                   *:*                  
    LISTEN     0      128                  [::1]:6080                              [::]:*                  
    LISTEN     0      128                  [::1]:8000                              [::]:*                  
    LISTEN     0      128                   [::]:111                               [::]:*                  
    LISTEN     0      128                   [::]:22                                [::]:*                  
    LISTEN     0      100                  [::1]:25                                [::]:*                  
    //配置nginx
    [root@kvm ~]# cd /etc/nginx/
    [root@kvm nginx]# ls
    conf.d                fastcgi_params          mime.types          scgi_params           win-utf
    default.d             fastcgi_params.default  mime.types.default  scgi_params.default
    fastcgi.conf          koi-utf                 nginx.conf          uwsgi_params
    fastcgi.conf.default  koi-win                 nginx.conf.default  uwsgi_params.default
    [root@kvm nginx]# cp nginx.conf nginx.conf-bak	//備份
    [root@kvm nginx]# cat nginx.conf
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    include /usr/share/nginx/modules/*.conf;
    events {
        worker_connections 1024;
    }
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  /var/log/nginx/access.log  main;
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
        include /etc/nginx/conf.d/*.conf;
        server {
            listen       80;
            server_name  localhost;
            include /etc/nginx/default.d/*.conf;
            location / {
                root html;
                index index.html index.htm;
            }
            error_page 404 /404.html;
                location = /40x.html {
            }
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    }
    [root@kvm conf.d]# pwd
    /etc/nginx/conf.d
    [root@kvm conf.d]# vi webvirtmgr.conf
    [root@kvm conf.d]# cat webvirtmgr.conf 
    server {
        listen 80 default_server;
        server_name $hostname;
        #access_log /var/log/nginx/webvirtmgr_access_log;
        location /static/ {
            root /var/www/webvirtmgr/webvirtmgr;
            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 $remote_addr;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
            proxy_send_timeout 600;
            client_max_body_size 1024M;
        }
    }
    //確保bind綁定的是本機的8000端口
    [root@kvm ~]# vim /var/www/webvirtmgr/conf/gunicorn.conf.py 
    bind = '0.0.0.0:8000'		//修改此行
    backlog = 2048
    //啟動nginx
    [root@kvm ~]# systemctl enable --now nginx
    Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
    [root@kvm ~]# ss -anlt
    State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
    LISTEN     0      128              127.0.0.1:6080                                 *:*                  
    LISTEN     0      128              127.0.0.1:8000                                 *:*                  
    LISTEN     0      128                      *:111                                  *:*                  
    LISTEN     0      128                      *:80                                   *:*                  
    LISTEN     0      5            192.168.122.1:53                                   *:*                  
    LISTEN     0      128                      *:22                                   *:*                  
    LISTEN     0      100              127.0.0.1:25                                   *:*                  
    LISTEN     0      128                  [::1]:6080                              [::]:*                  
    LISTEN     0      128                  [::1]:8000                              [::]:*                  
    LISTEN     0      128                   [::]:111                               [::]:*                  
    LISTEN     0      128                   [::]:22                                [::]:*                  
    LISTEN     0      100                  [::1]:25                                [::]:*                  
    //設置supervisor
    [root@kvm ~]# vim /etc/supervisord.conf 
    #在最后添加下面的內容
    [program:webvirtmgr]
    command=/usr/bin/python2 /var/www/webvirtmgr/manage.py run_gunicorn -c /var/www/webvirtmgr/conf/gunicorn.conf.py
    directory=/var/www/webvirtmgr
    autostart=true
    autorestart=true
    logfile=/var/log/supervisor/webvirtmgr.log
    log_stderr=true
    user=nginx
    [program:webvirtmgr-console]
    command=/usr/bin/python2 /var/www/webvirtmgr/console/webvirtmgr-console
    directory=/var/www/webvirtmgr
    autostart=true
    autorestart=true
    stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
    redirect_stderr=true
    user=nginx
    //啟動supervisor
    [root@kvm ~]# systemctl enable --now supervisord
    Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.
    [root@kvm ~]# systemctl status supervisord
    ● supervisord.service - Process Monitoring and Control Daemon
       Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled)
       Active: active (running) since 三 2021-10-20 23:53:33 CST; 12s ago
      Process: 46734 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
     Main PID: 46737 (supervisord)
    //配置nginx用戶
    [root@kvm ~]# su - nginx -s /bin/bash
    -bash-4.2$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/var/lib/nginx/.ssh/id_rsa): 
    Created directory '/var/lib/nginx/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /var/lib/nginx/.ssh/id_rsa.
    Your public key has been saved in /var/lib/nginx/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:S46h+CYFvCGW+6z68PXZgbKNLLdPdiPD6LmzPOpYBwI nginx@kvm
    The key's randomart image is:
    +---[RSA 2048]----+
    |                 |
    |                 |
    |E..              |
    |oo+              |
    |o.o+  . S        |
    | o.o.+ * .       |
    |. =.* O *        |
    | =oX=X * o       |
    |++**%B= .        |
    +----[SHA256]-----+
    -bash-4.2$ touch ~/.ssh/config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/.ssh/config
    -bash-4.2$ chmod 0600 ~/.ssh/config
    -bash-4.2$ ssh-copy-id root@192.168.237.131
    /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/nginx/.ssh/id_rsa.pub"
    /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    Warning: Permanently added '192.168.237.131' (ECDSA) to the list of known hosts.
    root@192.168.237.131's password: 
    Number of key(s) added: 1
    Now try logging into the machine, with:   "ssh 'root@192.168.237.131'"
    and check to make sure that only the key(s) you wanted were added.
    -bash-4.2$ exit
    登出
    [root@kvm ~]# vim /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
    [Remote libvirt SSH access]
    Identity=unix-user:root
    Action=org.libvirt.unix.manage
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes
    [root@kvm ~]# chown -R root.root /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
    [root@kvm ~]# systemctl restart nginx
    [root@kvm ~]# systemctl restart libvirtd

    1.3 kvm web界面管理

    通過ip地址在瀏覽器上訪問kvm

    怎么安裝部署及管理KVM虛擬化

    1.3.1 kvm連接管理

    創建SSH連接:

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    1.3.2 kvm存儲管理

    創建存儲:

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    進入存儲:

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    通過遠程連接軟件上傳ISO鏡像文件至存儲目錄/var/lib/libvirt/images/

    [root@kvm ~]# ls /var/lib/libvirt/images/
    CentOS-8.4.2105-x86_64-dvd1.iso

    在 web 界面查看ISO鏡像是否存在

    怎么安裝部署及管理KVM虛擬化

    創建系統安裝鏡像

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    1.3.3 kvm網絡管理

    添加橋接網絡

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    1.3.4 實例管理
    實例(虛擬機)創建

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    怎么安裝部署及管理KVM虛擬化

    虛擬機插入光盤

    怎么安裝部署及管理KVM虛擬化

    設置在 web 上訪問虛擬機的密碼

    怎么安裝部署及管理KVM虛擬化

    啟動虛擬機

    怎么安裝部署及管理KVM虛擬化

    打開控制臺

    怎么安裝部署及管理KVM虛擬化

    安裝虛擬機

    怎么安裝部署及管理KVM虛擬化

    安裝完成

    怎么安裝部署及管理KVM虛擬化

    故障

    web界面無法訪問,命令行報錯(accept: Too many open files)

    對nginx進行配置
    [root@kvm ~]# vim /etc/nginx/nginx.conf
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    worker_rlimit_nofile 655350;		//添加此行
    [root@kvm ~]# systemctl restart nginx.service 
    
    對系統參數進行設置
    [root@kvm ~]# vim /etc/security/limits.conf
    # End of file			//添加下面兩行
    * soft nofile 655350		
    * hard nofile 655350
    
    重啟虛擬機,就能成功訪問
    [root@kvm ~]# reboot

    “怎么安裝部署及管理KVM虛擬化”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    kvm
    AI

    长兴县| 南皮县| 凤翔县| 南平市| 宁都县| 阳东县| 青阳县| 花莲市| 安西县| 古田县| 两当县| 许昌市| 肃南| 同德县| 永泰县| 吉木乃县| 阳新县| 西盟| 丹阳市| 宜都市| 安塞县| 黔东| 财经| 贡山| 甘孜| 家居| 共和县| 苗栗市| 定日县| 治多县| 遵义县| 武鸣县| 石城县| 保亭| 神池县| 囊谦县| 福贡县| 上思县| 淮安市| 迁西县| 东安县|