2018年10月9日 星期二

在 CentOS / RHEL 7 上,安裝 oVirt 4.2 服務

學習目標:
  • 在 CentOS / RHEL 7 Linux 作業系統上,安裝 oVirt 服務!
  • 使用三部主機進行安裝,一部安裝 ovirt-engine ,一部安裝 postgresql 資料庫,另一部為 Enterprise Linux Hosts!
  • 防火牆的部份,可以先關閉!利用硬體防火牆進行安全的防護即可!
oVirt Engine 安裝設定流程:
  1. 安裝相關必要軟體安裝工作!
    # yum -y upgrade
    # reboot
    
  2. 安裝 oVirt Engine 相關必要軟體:
    # yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release42.rpm
    # yum -y upgrade
    # reboot
    # yum -y install ovirt-engine
    
    PS:請先將資料庫安裝好!可參考本文 Database 安裝設定流程!
  3. 啟動 oVirt Engine 設定流程:
    # engine-setup
    (出現下列項目問題,請依實際狀況回答即可!)
    --== PRODUCT OPTIONS ==--
    Configure Engine on this host (Yes, No) [Yes]: 
    Configure ovirt-provider-ovn (Yes, No) [Yes]:
    Configure Image I/O Proxy on this host (Yes, No) [Yes]:
    Configure Data Warehouse on this host (Yes, No) [Yes]: 
    Configure VM Console Proxy on this host (Yes, No) [Yes]: 
    
    --== NETWORK CONFIGURATION ==--
    Host fully qualified DNS name of this server [ovirt42.hello.tw]:
    Do you want Setup to configure the firewall? (Yes, No) [Yes]:
    
    --== DATABASE CONFIGURATION ==--
    Where is the DWH database located? (Local, Remote) [Local]: Remote (因為需要使用外部資料庫,所以就選 Remote)
    Where is the Engine database located? (Local, Remote) [Local]: Remote
    DWH database host [localhost]: database.hello.tw
    DWH database port [5432]:
    DWH database secured connection (Yes, No) [No]:
    DWH database name [ovirt_engine_history]: ovirt
    DWH database user [ovirt_engine_history]: ovirt
    DWH database password:
    
    ATTENTION
    
    Manual action required.
    Please create database for ovirt-engine use.
    
    Engine database host [localhost]: database.hello.tw
    Engine database port [5432]: 
    Engine database secured connection (Yes, No) [No]:   
    Engine database name [engine]:
    
    --== OVIRT ENGINE CONFIGURATION ==--
             
    Engine admin password:
    Confirm engine admin password:
    Use default credentials (admin@internal) for ovirt-provider-ovn (Yes, No) [Yes]:
    
    --== STORAGE CONFIGURATION ==--
    Default SAN wipe after delete (Yes, No) [No]: 
    
    --== PKI CONFIGURATION ==--
    Organization name for certificate [tdhome.tw]:
    
    --== APACHE CONFIGURATION ==--
    Do you wish to set the application as the default page of the web server? (Yes, No) [Yes]:
    Do you wish Setup to configure that, or prefer to perform that manually? (Automatic, Manual) [Automatic]:
    
    --== MISC CONFIGURATION ==--
    Please choose Data Warehouse sampling scale:
              (1) Basic
              (2) Full
              (1, 2)[1]: 2
    
    --== CONFIGURATION PREVIEW ==--
    Please confirm installation settings (OK, Cancel) [OK]:
    
  4. 注意最後的訊息!
    Please use the user 'admin@internal' and password specified in order to login
    Web access is enabled at:
        http://ovirt42.hello.tw:80/ovirt-engine
        https://ovirt42.hello.tw:443/ovirt-engine
    Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20181010114454-hs87tz.log
    Generating answer file '/var/lib/ovirt-engine/setup/answers/20181010115332-setup.conf'
    
  5. 由網頁登入後,即可加入主機節點,新增VM !!
Database 安裝設定流程:
  • 資料庫的部份,只能使用指定的 PostgreSQL 9.5.14 的版本!ovirt-release42 有提供!
  1. 安裝相關必要軟體安裝工作!
    # yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release42.rpm
    # yum -y upgrade
    # reboot
    
  2. 安裝與設定 PostgreSQL 9.5.14 資料庫相關軟體!
    # yum install rh-postgresql95-*
    # scl enable rh-postgresql95 -- postgresql-setup --initdb
    * Initializing database in '/var/opt/rh/rh-postgresql95/lib/pgsql/data'
    * Initialized, logs are in /var/lib/pgsql/initdb_rh-postgresql95-postgresql.log
    
  3. 啟動 PostgreSQL 資料庫!
    # systemctl enable rh-postgresql95-postgresql
    # systemctl start rh-postgresql95-postgresql
    
  4. 設定 PostgreSQL 資料庫 postgres 帳號與密碼!
    # su - postgres -c 'scl enable rh-postgresql95 -- psql'
    postgres=# ALTER USER postgres WITH PASSWORD 'abc123';
    postgres=# \q
    
  5. 設定 PostgreSQL 組態檔!
    # cd /var/opt/rh/rh-postgresql95/lib/pgsql/data/
    # vim postgresql.conf
    (只修改需要修改的部份)
    listen_addresses = '*'
    autovacuum_vacuum_scale_factor = 0.01
    autovacuum_analyze_scale_factor = 0.075
    autovacuum_max_workers = 6 
    work_mem = 8MB
    maintenance_work_mem = 64MB
    max_connections = 150
    
    # vim pg_hba.conf
    (追加在最後一行)
    host    all             all             192.168.100.0/24        md5
    
    # systemctl restart rh-postgresql95-postgresql
    
  6. 修改防火牆設定:
    # firewall-cmd --zone=public --add-service=postgresql
    # firewall-cmd --permanent --zone=public --add-service=postgresql
    
  7. 登入資料庫內,建立給 oVirt 專用的資料庫與帳號密碼
    # su - postgres -c 'scl enable rh-postgresql95 -- psql'
    postgres=# CREATE ROLE ovirt WITH LOGIN ENCRYPTED PASSWORD 'abc123';
    postgres=# CREATE DATABASE ovirt OWNER ovirt TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8';
    postgres=# \c ovirt;
    ovirt=# CREATE EXTENSION "uuid-ossp";
    ovirt=# CREATE LANGUAGE plpgsql;
    ovirt=# \q
    
  8. 重新啟動 PostgreSQL 資料庫與測試:
    # systemctl restart rh-postgresql95-postgresql
    
  9. 登入資料庫內,建立給 Engine 專用的資料庫與帳號密碼
    # su - postgres -c 'scl enable rh-postgresql95 -- psql'
    postgres=# CREATE ROLE engine WITH LOGIN ENCRYPTED PASSWORD 'abc123';
    postgres=# CREATE DATABASE engine OWNER engine TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8';
    postgres=# \c engine;
    engine=# CREATE EXTENSION "uuid-ossp";
    engine=# CREATE LANGUAGE plpgsql;
    engine=# \q
    
Enterprise Linux Hosts 安裝設定流程:
  1. 安裝相關必要軟體安裝工作!
    # yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release42.rpm
    # yum -y upgrade
    
  2. 安裝 Cockpit 軟體!
    # yum install cockpit-ovirt-dashboard
    
  3. 啟動 Cockpit 服務!
    # systemctl enable cockpit.socket
    # systemctl start cockpit.socket
    
  4. 利用 firefox 登入 https://localhost:9090 網頁
參考文獻:
  • https://ovirt.org/documentation/install-guide/Installation_Guide/