使用虛擬機在VirtualBox+openEuler上安裝部署openGauss數據庫

本節描述openGauss數據庫在虛擬機VirtualBox+openEuler上的安裝配置。

1、虛擬機VirtualBox下載及安裝

步驟 1 進入官方網站下載頁面。

網址:https://www.virtualbox.org/wiki/Downloads

點擊” window主機” 下載windows版本的VirtualBox。

步驟 2下載完成後,雙擊執行文件進行安裝。

下載後,文件名為:VirtualBox-6.1.14-140239-Win.exe,雙擊此執行文件進行安裝,安裝過程中存放地址可以根據自己想法去設置下,其他所有選項都可以默認,直接按下一步就行,最後安裝成功。
具體如下:

2、openEuler-20.03-LTS鏡像文件下載

步驟 1 進入華為開源鏡像站的下載頁面。

網址:https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/ISO/x86_64/,具體如下:

步驟 2 點擊” openEuler-20.03-LTS-x86_64-dvd.iso”,進行相應ISO鏡像文件下載。

下載的文件名如下:

3、VirtualBox下安裝openEuler-20.03-LTS操作系統

步驟 1 新建虛擬電腦。

打開VirtualBox軟件。

在VirtualBox的管理器上點擊”新建”,具體如下:

在此頁面,填好相應的名稱(如:openEuler)、文件存放地址(如:d:\vmwork)、操作系統類型(如:Linux))、版本(如:Other Linux),然後點擊”下一步”。

內存設置為2048MB(表示整個系統隻有2G內存),然後點擊”下一步”。

采用默認設置,直接點擊”創建”。

采用默認設置,直接點擊”下一步”。

采用默認設置,直接點擊”下一步”。

硬盤大小改為10G(10G表示硬盤自動擴展後所能達到的最大極限大小,在實際使用中可以根據自己情況來做調整),然後點擊”創建”。

步驟 2 設置虛擬電腦並安裝。

在VirtualBox的管理器上點擊”設置”,具體如下:

在設置頁面上點擊”系統”,進行系統設置,在啟動順序中把”光驅”、”硬盤”移動至第一、二啟動,”軟驅”去掉勾選,具體如下:

處理器中,CPU設置為2,具體如下:

點擊“存儲“設置項,選擇光盤並在分配光驅後面點擊加載按鈕將前面下載的openEuler-20.03-LTS-x86_64-dvd.iso文件加載至光驅中,具體如下:

點擊“網絡“設置項,這裡用到二張網卡,網卡1連接方式下拉選擇為”僅主機(Host-Only)網絡“,主要用於本地電腦與虛擬電腦相連,具體如下:

網卡2設置,勾選“啟用網絡連接”,並且“連接方式選擇”下拉選擇為“網絡地址轉換(NAT)“,主要用於虛擬電腦與互聯網相連,具體如下:

最後點擊“OK“按鈕,設置完成,設置完成頁面如下:

點擊啟動按鈕,開始進入系統安裝。

確定光驅中的ISO內容正確後,點擊“啟動“。
啟動安裝第一界面,直接按下“Enter“鍵後就會進入自檢界面。

語言選擇中文—-》簡體中文(中國),然後點擊“繼續“。

在此頁面,點擊“安裝位置“先進行分區,具體如下:

選擇“自定義“,然後點擊”完成“。

下拉選擇“標準分區“,然後點擊”點擊這裡自動創建他們“。

點擊“完成“,進入下一步設置。

點擊“接受更改“,完成分區設置,接下來進行網絡和主機名設置。
在安裝信息摘要頁面,點擊“網絡和主機名“進行網絡和主機名設置,具體如下:

分別針對二張網卡進行設置,如以太網(enpOs3)網卡,先點擊“關閉“邊上的按鈕把網卡打開。

接著設置主機名(如:db1),並點擊“應用(A)”,然後點擊“配置“。
說明:設置主機名時一定要註意,如果在同一網段內有多位學員按此文檔來安裝,請盡量把主機名設成不一樣。

在配置頁中,選擇“常規“,然後勾選”可用時自動鏈接到這個網絡“,接著點擊”保存“。

參數第一張網卡的設置步驟對第二張網卡進行設置,先打開網卡,接著進行配置,具體如下:

點擊“保存“。

點擊“完成“,結束網絡和主機名的設置。
在安裝信息摘要頁面,點擊“軟件選擇 “進行軟件安裝設置,具體如下:

在此頁面選擇“虛擬化主機“,並在右邊勾選”Linux的遠程管理“、”開發工具“、”安全性工具“、”系統管理工具“。然後點擊完成。

設置結束,點擊“開始安裝“,具體如下:

點擊“ROOT密碼“,給ROOT用戶設置密碼(如:openGauss@123)。

點擊“創建用戶“,在此新創建一個用戶(如:用戶test,密碼openGauss@123),具體如下:

系統安裝中,等待數分鐘後會出現如下界面:

出現此界面表示,系統安裝完成,然後點擊“重啟“,但此時要調整系統從硬盤啟動。
先關閉VM運行窗口,如下:

然後設置從硬盤啟動,具體如下:

重啟後,要求輸入用戶名及密碼,這裡用root用戶登錄,密碼比如:openGauss@123,具體如下:

步驟 3 確認網絡

在Linux操作系統上,通過ifconfig來查看二張網卡是否都正常啟動,具體如下:

[root@db1 ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.123  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::ac2f:dc4f:edfe:1d57  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:0f:78:e3  txqueuelen 1000  (Ethernet)
        RX packets 519  bytes 48509 (47.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 178  bytes 52937 (51.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.3.15  netmask 255.255.255.0  broadcast 10.0.3.255
        inet6 fe80::bedc:2040:4b9:23ed  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:45:8d:f0  txqueuelen 1000  (Ethernet)
        RX packets 72  bytes 10702 (10.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 124  bytes 11664 (11.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
……………………………..
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:05:11:90  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

通過ping baidu.com確認是否能上網,具體如下:

[root@db1 ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=47 time=48.1 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=47 time=46.5 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=47 time=49.2 ms

使用 ctrl+c組合鍵可以結束輸出。

4、操作系統環境準備

為瞭操作方便,可以使用SSH工具(比如:PuTTY等)從本地電腦通過配置enp0s3網卡的IP地址(如:192.168.56.123)來連接虛擬機,並使用ROOT用戶來登錄。

步驟 1 關閉防火墻

執行以下二個命令將防火墻關閉,
systemctl stop firewalld.service
systemctl disable firewalld.service,具體如下:

[root@db1 ~]# cat >>/etc/profile<<EOF export LANG=en_US.UTF‐8 EOF [root@db1 ~]# [root@db1 ~]# cat >>/etc/profile<<EOF export packagePath=/opt/software/openGauss EOF [root@db1 ~]# source /etc/profile [root@db1 ~]# cat >>/etc/profile<<EOF export LD_LIBRARY_PATH=$packagePath/script/gspylib/clib:$LD_LIBRARY_PATH EOF [root@db1 ~]# [root@db1 ~]# source /etc/profile

步驟 2設置字符集及環境變量。

驗證變量是否生效。

[root@db1 ~]# echo $LD_LIBRARY_PATH

結果為:

/opt/software/openGauss/script/gspylib/clib:

步驟 3關閉swap交換內存。

[root@db1 ~]# swapoff -a

步驟 4調整系統參數值。

執行如下命令打開performance.sh文件,用#註釋sysctl -w vm.min_free_kbytes=112640 &> /dev/null,鍵入“ESC”鍵進入指令模式,執行:wq保存並退出修改。
使用vim打開文件“/etc/profile.d/performance.sh”

[root@db1 ~]# vi /etc/profile.d/performance.sh

輸入”i”,進入INSERT模式。用#註釋sysctl -w vm.min_free_kbytes=112640 &> /dev/null。

CPUNO=`cat /proc/cpuinfo|grep processor|wc -l`
export GOMP_CPU_AFFINITY=0-$[CPUNO - 1]
#sysctl -w vm.min_free_kbytes=112640 &> /dev/null
sysctl -w vm.dirty_ratio=60 &> /dev/null
sysctl -w kernel.sched_autogroup_enabled=0 &> /dev/null

點擊“ESC”退出INSERT模式。輸入“:wq”後回車,保存退出。

步驟 5準備yum環境。

備份原有的yum配置文件。

[root@db1 ~]# mv /etc/yum.repos.d/openEuler_x86_64.repo /etc/yum.repos.d/openEuler_x86_64.repo.bak
[root@db1 ~]#

下載可用源的repo文件:
curl -o /etc/yum.repos.d/openEuler_x86_64.repo https://mirrors.huaweicloud.com/repository/conf/openeuler_x86_64.repo

[root@db1 ~]# curl -o /etc/yum.repos.d/openEuler_x86_64.repo https://mirrors.huaweicloud.com/repository/conf/openeuler_x86_64.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   886    0   886    0     0   3661      0 --:--:-- --:--:-- --:--:--  3676

查看repo文件內容是否正確。

[root@db1 ~]# cat /etc/yum.repos.d/openEuler_x86_64.repo
[openEuler-source]
name=openEuler-source
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler

[openEuler-os]
name=openEuler-os
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler

[openEuler-everything]
name=openEuler-everything
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/x86_64/RPM-GPG-KEY-openEuler

[openEuler-EPOL]
name=openEuler-epol
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/EPOL/x86_64/
enabled=1
gpgcheck=0
[root@db1 ~]#

步驟 6yum安裝相關包。

執行以下命令,安裝所需的包
yum install libaio* -y
yum install libnsl* -y
如下:

[root@db1 ~]# yum install libaio* -y
Last metadata expiration check: 0:00:44 ago on Thu 15 Oct 2020 10:38:26 AM CST.
Package libaio-0.3.111-5.oe1.x86_64 is already installed.
Dependencies resolved.
………………….
[root@db1 ~]# yum install libnsl* -y
Last metadata expiration check: 0:00:24 ago on Thu 07 Jan 2021 10:17:38 AM CST.
Package libnsl2-1.2.0-4.oe1.x86_64 is already installed.
Dependencies resolved.
………………….

步驟 7 設置默認Python版本為3.x。

[root@db1 ~]# cd /usr/bin
[root@db1 bin]# mv python python.bak
[root@db1 bin]# ln -s python3 /usr/bin/python
[root@db1 bin]# python -V
Python 3.6.8

步驟 8 創建存放數據庫安裝目錄。

[root@db1 ~]# mkdir -p /opt/software/openGauss
[root@db1 ~]# cd /opt/software/openGauss
[root@db1 openGauss]# 

5、安裝openGauss數據庫

步驟 1 創建XML配置文件,用於數據庫安裝。

[root@db1 openGauss]# vi clusterconfig.xml

將以下內容添加進clusterconfig.xml文件中。

<?xml version="1.0" encoding="UTF-8"?> 
<ROOT> 
    <!-- openGauss整體信息 --> 
    <CLUSTER> 
        <PARAM name="clusterName" value="dbCluster" /> 
        <PARAM name="nodeNames" value="db1" /> 
        <PARAM name="backIp1s" value="10.0.3.15"/> 
        <PARAM name="gaussdbAppPath" value="/opt/gaussdb/app" /> 
        <PARAM name="gaussdbLogPath" value="/var/log/gaussdb" /> 
        <PARAM name="gaussdbToolPath" value="/opt/huawei/wisequery" /> 
        <PARAM name="corePath" value="/opt/opengauss/corefile"/> 
        <PARAM name="clusterType" value="single-inst"/> 
    </CLUSTER> 
    <!-- 每臺服務器上的節點部署信息 --> 
    <DEVICELIST> 
        <!-- node1上的節點部署信息 --> 
        <DEVICE sn="1000001"> 
            <PARAM name="name" value="db1"/> 
            <PARAM name="azName" value="AZ1"/> 
            <PARAM name="azPriority" value="1"/> 
            <!-- 如果服務器隻有一個網卡可用,將backIP1和sshIP1配置成同一個IP --> 
            <PARAM name="backIp1" value="10.0.3.15"/> 
            <PARAM name="sshIp1" value="10.0.3.15"/> 
             
	    <!--dbnode--> 
	    <PARAM name="dataNum" value="1"/> 
	    <PARAM name="dataPortBase" value="26000"/> 
	    <PARAM name="dataNode1" value="/gaussdb/data/db1"/> 
        </DEVICE> 
    </DEVICELIST> 
</ROOT>

說明:其中標紅的內容,需要根據自己實際的IP和主機名進行修改,如果其中的中文出現亂碼時可以刪除這些行。

步驟 2 使用wget下載數據庫安裝包到安裝包目錄

切換到安裝目錄:

[root@ecs-c9bf bin]# cd /opt/software/openGauss

使用wget下載安裝包:

[root@ecs-c9bf openGauss]# wget  https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86_openEuler/openGauss-1.1.0-openEuler-64bit-all.tar.gz

註:https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86_openEuler/openGauss-1.1.0-openEuler-64bit-all.tar.gz是數據庫安裝包下載網址,輸入時不需要進行換行。
下載成功顯示如下:

……
2020-09-14 13:57:23 (9.33 MB/s) – ‘openGauss-1.1.0-openEuler-64bit-all.tar.gz’ saved [58468915/58468915]

步驟 3在安裝包所在的目錄下,解壓安裝包。

 [root@ecs-c9bf openGauss]# cd /opt/software/openGauss

解壓縮安裝包:
先解壓openGauss-1.1.0-openEuler-64bit-all.tar.gz包。

[root@ecs-c9bf openGauss]# tar -zxvf  openGauss-1.1.0-openEuler-64bit-all.tar.gz

再先解壓openGauss-1.1.0-openEuler-64bit-om.tar.gz包。

[root@ecs-c9bf openGauss]# tar -zxvf  openGauss-1.1.0-openEuler-64bit-om.tar.gz

解壓後如下,用ls命令查看如下:

[root@ecs-c9bf openGauss]# ls
clusterconfig.xml                           openGauss-Package-bak_392c0438.tar.gz
lib                                         script
openGauss-1.1.0-openEuler-64bit-all.tar.gz  simpleInstall
openGauss-1.1.0-openEuler-64bit-om.sha256   upgrade_sql.sha256
openGauss-1.1.0-openEuler-64bit-om.tar.gz   upgrade_sql.tar.gz
openGauss-1.1.0-openEuler-64bit.sha256      version.cfg
openGauss-1.1.0-openEuler-64bit.tar.bz2

安裝包解壓後,會在/opt/software/openGauss路徑下自動生成script子目錄,並且在script目錄下生成gs_preinstall等各種OM工具腳本。
更改權限。

[root@db1 openGauss]# chmod 755 -R /opt/software
[root@db1 openGauss]#

步驟 4執行初始化腳本。

[root@db1 openGauss]# cd /opt/software/openGauss/script
[root@db1 script]# python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Are you sure you want to create trust for root (yes/no)? yes
Please enter password for root.
Password: 
Creating SSH trust for the root permission user.
Checking network information.
……………………………………..
Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes
Please enter password for cluster user.
Password: 
Please enter password for cluster user again.
Password: 
Successfully created [omm] user on all nodes.
Preparing SSH service.
Successfully prepared SSH service.
……………………………………..
Successfully set finish flag.
Preinstallation succeeded.

期間需要輸入操作系統root用戶的密碼(如密碼:openGauss@123)和創建操作系統omm用戶及設置密碼(如密碼:openGauss@123)。
當返回Preinstallation succeeded內容時,表明初始化完成。

步驟 5 初始化數據庫

用init 6 重啟下虛擬機(主要是為瞭釋放一些內存資源)。

[root@db1 script]# init 6
Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(ONE) at 10:51:59.
Type `help' to learn how to use Xshell prompt.

過段時間虛擬機重啟好後,再次使用SSH工具(比如:PuTTY等)從本地電腦通過配置enp0s3網卡的IP地址(如:192.168.56.123)來連接虛擬機,並使用ROOT用戶來登錄,然後接著以下操作。

先更新下權限。

[root@db1 script]# chmod 755 -R /opt/software
[root@db1 openGauss]#

然後使用omm用戶進行數據庫初始化。
註意:根據用戶實際內存大小設置對應的共享內存的大小,如果對該參數進行瞭設置,會在數據庫啟動時候報錯,本實驗虛擬機總內存大小是2G。
gs_install -X /opt/software/openGauss/clusterconfig.xml –gsinit-parameter="–encoding=UTF8" –dn-guc=“max_process_memory=2GB” –dn-guc=“shared_buffers=128MB” –dn-guc=“bulk_write_ring_size=128MB” –dn-guc=“cstore_buffers=16MB”
具體如下:

[root@db1 openGauss]# su - omm
Last login: Thu Sep 10 15:26:21 CST 2020 on pts/0
[omm@db1 ~]$ cd /opt/software/openGauss/script
[omm@db1 script]$ gs_install -X /opt/software/openGauss/clusterconfig.xml --gsinit-parameter="--encoding=UTF8"  --dn-guc="max_process_memory=2GB" --dn-guc="shared_buffers=128MB" --dn-guc="bulk_write_ring_size=128MB" --dn-guc="cstore_buffers=16MB"
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
begin deploy..
Installing the cluster.
begin prepare Install Cluster..
Checking the installation environment on all nodes.
begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
begin init Instance..
encrypt cipher and rand files for database.
Please enter password for database:
Please repeat for database:
begin to create CA cert files
The sslcert will be generated in /opt/gaussdb/app/share/sslcert/om
Cluster installation is completed.
Configuring.
………………………….
Successfully started cluster.
Successfully installed application.
end deploy..

註意:輸入omm用戶密碼時,不要輸入錯誤(如密碼:openGauss@123)。

步驟 6清理軟件安裝包。

[omm@db1 openGauss]$ exit
logout
[root@db1 /]# cd /root
[root@db1 script]# cd /opt/software/openGauss/
[root@db1 openGauss]# ll
total 288M
-rw-------.  1 omm  dbgrp 1.4K Jan  7 10:32 clusterconfig.xml
drwx------. 15 root root  4.0K Jan  7 10:31 lib
-r--------.  1 root root   95M Dec 31 20:59 openGauss-1.1.0-openEuler-64bit-all.tar.gz
-r--------.  1 root root    65 Dec 31 20:40 openGauss-1.1.0-openEuler-64bit-om.sha256
-r--------.  1 root root   13M Dec 31 20:40 openGauss-1.1.0-openEuler-64bit-om.tar.gz
-r--------.  1 root root    65 Dec 31 20:39 openGauss-1.1.0-openEuler-64bit.sha256
-r--------.  1 root root   84M Dec 31 20:39 openGauss-1.1.0-openEuler-64bit.tar.bz2
-r--------.  1 root root   96M Jan  7 10:32 openGauss-Package-bak_392c0438.tar.gz
drwx------.  6 root root  4.0K Dec 31 20:40 script
drwxr-xr-x.  2 root root  4.0K Dec 31 20:40 simpleInstall
-r--------.  1 root root    65 Dec 31 20:39 upgrade_sql.sha256
-r--------.  1 root root  132K Dec 31 20:39 upgrade_sql.tar.gz
-r--------.  1 root root    32 Dec 31 20:38 version.cfg
-rwxr-xr-x.  1 root root    32 Oct 14 02:12 version.cfg
[root@db1 openGauss]# rm -rf openGauss-1.1.0-openEuler-64bit-all.tar.gz
[root@db1 openGauss]# rm -rf openGauss-1.1.0-openEuler-64bit-om.tar.gz

數據庫安裝結束。

到此這篇關於使用虛擬機在VirtualBox+openEuler上安裝部署openGauss數據庫的文章就介紹到這瞭,更多相關openGauss數據庫虛擬機安裝部署內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: