?

基于openEuler的openGauss實驗環境建設實踐探析

2023-07-26 09:13林美蓉
電腦知識與技術 2023年16期
關鍵詞:編輯器開源命令

林美蓉

(海南科技職業大學,海南 ???571126)

0 引言

國產操作系統和數據庫進一步做大做強,生態建設至關重要。開源對于覆蓋更多的用戶、吸納更多的技術優勢有很大的幫助。openEuler(歐拉開源操作系統,簡稱歐拉)和openGauss(高斯開源數據庫,簡稱高斯)都是我國基礎軟件領域的開源共建產品,聚焦基礎軟件核心能力構建,引領基礎軟件持續創新[1]。openEuler 是一個開源免費的Linux 發行版系統,源于Linux Kernel 上游社區,是我國的開源操作系統根社區,通過開源協作社區創新平臺,支持服務器、云計算、邊緣計算、嵌入式等全應用場景,支持多樣性計算,致力于提供安全、穩定、易用的操作系統,方便開發者和運維人員簡單、平穩高效地進行操作系統遷移和智能運維[2]。openGauss 是我國的開源關系型企業級數據庫,是GaussDB 云數據庫服務的開源版本,其內核深度融合華為在數據庫領域多年的經驗,是結合企業級場景的高安全性、高可用性數據庫。目前已在金融、制造等多行業核心系統廣泛應用[3]。本文將基于openEuler 國產開源操作系統進行openGauss 國產開源關系型數據庫的單節點實驗環境建設,助力高校學生全面掌握開源操作系統的管理和運維以及更好的學習和使用開源數據庫。

1 openEuler環境準備

1.1 基于虛擬機的openEuler安裝

openEuler 的下載地址是openEuler 的開源社區https://www.openeuler.org/zh/download/,選擇對應平臺的最新版本,目前的最新版本是openEuler22.09,本文使用的是x86_64 架構的基礎安裝ISO,openEuler-22.09-x86_64-dvd.iso,是包含了運行最小系統的核心組件的鏡像文件。如果需要全量軟件包需要下載openEuler-22.09-everything-x86_64-dvd.iso,該ISO 文件包含運行系統所需要的所有組件。安裝過程可以參考openEuler 的官方文檔和openEuler 的技術白皮書。安裝過程類似Redhat 或CentOS 等Linux 內核操作系統。需要注意事項:一是需要開啟宿主機的CPU虛擬化功能,確保CPU虛擬化功能處于“已啟用”的狀態。二是滿足最小的虛擬化硬件需求。如內存不小于2G,硬盤不小于32G等空間和平臺兼容性要求。三是建議選擇英文,因為后續openGauss 數據庫的安裝目前只支持英文方式。四是軟件安裝方式選擇為“服務器”。五是需要滿足root的用戶密碼復雜度要求,不能太簡單或太有規律,必須能夠通過openEuler 的字典校驗。六是普通用戶創建時密碼的設置不能和root用戶相同。openEuler目前暫未支持圖形化界面,因此openEuler 安裝完成重啟后,進入的是命令行模式,通過cat /etc/os-release 查看openEuler 操作系統的相關系統信息[4]。

1.2 網絡環境準備

openEuler提供多種網絡配置的方式,本文采用的是虛擬機的NAT 網絡模式。先查看虛擬網絡編輯器確定NAT網絡的網段和網關,然后通過vim編輯器修改ifcfg 文件的方式配置靜態網絡。在root 用戶權限下,修改/etc/sysconfig/network-scripts/目錄下的ifcfgens160 文件,將BOOTPROTO 值由默認的dhcp 改為none,并根據需求添加IP 地址、網關和DNS 首選地址等參數,具體設置方式如圖1所示。

圖1 網絡環境準備

ifcfg 文件修改完成后,保存退出。需要執行nmcli conn reload;nmcli conn up ens160 命令重新加載配置文件,重新激活網卡連接,網絡配置才能生效。

1.3 軟件準備

1.3.1 軟件源準備

因為后續openGauss 的安裝有軟件依賴的需求,而且依賴的軟件官方推薦使用openEuler 操作系統安裝光盤的默認安裝包,因此需要配置好openEuler 的本地軟件源。將ISO文件導入openEuler的光驅中,使用mount /dev/cdrom /mnt 命令掛載到本地,使用dnf config-manager-add-repo file:///mnt 命令將掛載的鏡像添加為本地軟件源,使用vim 編輯器編輯/etc/yum.repo.d/目錄下的mnt.repo 文件,增加gpcheck=1 和gpgkey=file:///mnt/RPM-GPG-KEY-openEuler 兩行,保存并退出??梢酝ㄟ^dnf repolist 命令驗證查看,發現mnt已經在軟件源列表中,如圖2所示。

圖2 軟件源準備

1.3.2 openGauss依賴軟件安裝

openGauss 所需的軟件有:libaio-deve,flex,bison,ncurses-devel,glibc-devel,patch lsb_release,readlinedevle,libnsl,前期已經做好的軟件源的相關準備工作,可以使用dnf install -y命令進行依賴軟件的安裝。默認情況下,openEuler 已安裝大部分openGauss 所需的軟件。

1.4 遠程管理準備

openGauss 需要root 用戶遠程登錄的權限。因此openEuler 需要開啟ssh 服務。默認情況下,openEuler已支持遠程登錄,ssh 服務默認處于已開啟狀態,且openEuler22.09已默認允許root用戶遠程登錄(即PermitRootLogin 參數值為yes) 。但在實驗過程中,發現從Windows10 客戶端登錄遠程登錄openEuler22.09 服務器時會發生算法不匹配的問題,需要修改/etc/ssh/sshd_cofig 配置文件,將HostKeyAlgorithms 和Pubkey-AcceptedKeyTypes 兩行原有的算法注釋掉,添加Host-KeyAlgorithms ssh-rsa,ssh-dss 和PubkeyAcceptedKey-Types ssh-rsa,ssh-dss 兩行新的算法。并確保Permit-RootLogin 參數的值為yes,實現root 用戶可以遠程登錄。修改完配置文件,需要使用systemctl restart sshd命令重啟sshd服務,ssh服務的相關配置才能生效。

1.5 關閉防火墻

根據openGauss的官方文檔,目前openGauss僅支持防火墻關閉的狀態下安裝,所以需要關閉防火墻和SELinux。通過vim 編輯器修改/etc/selinux/config 文件,設置SELINUX 參數的值為“disabled”。并通過命令systemctl stop firewalld 和systemctl disable firewalld,永久關閉防火墻。重啟服務器后,通過getenforce 命令和systemctl status firewalld 命令確保防火墻和SELinux已處于關閉狀態。

1.6 關閉RemoveIPC

根據openGauss 的官方文檔,CentOS 操作系統無須進行此步驟,但openEuler 需要在數據庫的各個節點上操作此步驟。單節點只需在本服務器上操作即可。首先用vim 編輯器修改/etc/systemd/logind.conf 文件,將該文件中的RemoveIPC 參數設為no(取消RemoveIPC=no前的注釋即可)。然后用vim編輯器修改/usr/lib/systemd/system/systemd-logind.service 文件,將該文件中的RemoveIPC值設為no(即文件末增加一行RemoveIPC=no) 。修改之后注意必須重載配置參數,配置才能生效systemctl daemon-reload;systemctl restart systemd-logind。

1.7 系統參數調優

openGauss安裝前還需要對openEuler系統內核進行參數調優,為了重啟系統后參數調優依然有效,需要直接修改配置文件/etc/sysctl.conf,增加net.ipv4.tcp_retries1=5,net. ipv4. tcp_syn_retries=5,net. sctp.path_max_retrans=10,net.sctp.max_init_retransmits=10等參數設置。還需要修改資源限制文件/etc/security/limits.conf,在文件末增加* soft nofile 1000000,* hard nofile 1000000,* soft nproc 60000 等參數設置,修改用戶可以使用的最大文件數和最大線程。系統參數調優后,需要重啟openEuler服務器。

2 openGauss的極簡版單節點安裝

2.1 用戶和用戶組準備

完成了系統部分的準備工作,開始進入數據庫的安裝階段。openGauss 的安裝建議規劃單獨的用戶組,以root 用戶登錄openEuler 服務器,使用命令groupadd dbgrp 創建用戶組dbgrp。并規劃單獨的用戶用于管理和運維openGauss 數據庫,創建組成員普通用戶omm,同步設置用戶密碼:useradd -g dbgrp omm;passwd omm。

2.2 目錄和權限準備

仍然使用root用戶登錄openEuler操作系統,創建openGauss 的安裝包存放目錄mkdir -p /opt/huawei/openGauss,并賦予該目錄可讀寫的權限chmod 777-R/opt/huawei。修改該安裝包存放目錄的 /opt/huawei/openGauss 的屬主和屬組為之前規劃的數據庫單獨用戶和用戶組。設置屬主為omm,屬組為dbgrp:chown -R omm:dbgrp /opt/huawei。

2.3 openGauss下載

openGauss 的下載請到openGauss 的開源社區https://www.opengauss.org/zh/download/選擇對應平臺的最新版本,目前openGauss server 的最新版本是openGauss_3.1.0,開源社區提供企業版、極簡版和輕量版三種支持openEuler 操作系統的軟件包。企業版主要針對企業和對數據庫性能要求較高的用戶,安裝流程比較復雜,功能更全。極簡版主要針對高校和個人測試,可以進行單節點和一主一備的節點環境安裝部署。輕量版刪減部分組件,安裝,卸載,升級等需要手動操作。本文使用的是極簡版軟件包:openGauss-3.1.0-openEuler-64bit.tar.bz2。使用openGauss 的管理用戶omm 登錄openEuler 服務器,切換到已創建的目錄 /opt/huawei/openGauss 下載軟件包并解壓縮該軟件包,通過wget https://opengauss. obs. cn-south-1. myhuaweicloud.com/3.1.0/x86_openEuler/openGauss-3.1.0-openEuler-64bit.tar.bz2命令獲取安裝軟件包。通過tar -jxf openGauss-3.1.0-openEuler-64bit.tar.bz2解壓縮到當前目錄下。

2.4 創建軟鏈接

openGauss 的官方文檔推薦的操作系統是openEuler 20.3LTS,本文使用的openEuler 22.09,版本更新,安裝的過程中會出現找不到庫文件libreadline.so.7的問題。需要創建軟鏈接libreadline.so.7軟鏈接指向libreadline.so.8 即可解決該問題。首先通過ldconfig-p | grep readline命令確定當前系統中libreadline相關軟件包的絕對路徑是/usr/lib64/,切換到該路徑下后使用命令ln -s /usr/lib64/libreadline. so. 8 /usr/lib64/libreadline.so.7創建軟鏈接。

2.5 單節點安裝

完成以上的前期準備工作后,使用openGauss 的管理用戶omm 登錄openEuler 服務器,使用cd 命令切換到解壓縮后的目錄下/opt/huawei/openGauss/simpleInstall下,執行sh install.sh -w “Huawei@123”,其中Huawei@123是設置的數據庫密碼。開始進行數據庫的安裝。安裝完成后通過查看數據路徑下的conf 文件 / opt / huawei / opengauss / data / single_node / pstsgresql.conf | grep port 確認數據庫使用的端口。如圖3 所示,當前數據庫使用的端口號是5432。通過ps ux | grep gaussdb 命令和gs_ctl query -D /opt/huawei/openGauss/data/single_node/查看數據庫的狀態。根據數據庫返回的狀態可以啟動/重啟/關閉數據庫,命令是gs_ctl start /restart /stop-D /opt /huawei /openGauss /data/single_node/-Z /single_node。初始化安裝用戶omm 登錄數據不需要輸入密碼直接使用gsql -d postgres -p 5432連接數據庫,其中-d參數指定連接的數據庫,-p指定數據庫的端口號[5],如圖4所示。

圖4 數據庫登錄

3 openGauss的RPM安裝

通過以上的安裝方式,總體感覺基于openEuler上部署openGauss 的步驟比較煩瑣。其實openEuler也有簡單快捷的部署方式:第一種方式是在安裝openEuler 的過程中軟件選擇時,直接選擇“openGauss server”在openEuler 操作系統部署時同步完成open-Gauss 數據庫的部署。第二種方式是在openEuler 安裝完成后直接使用yum install -y opengauss 進行open-Gauss數據庫安裝。這兩種方式的本質都是基于RPM進行安裝,缺點是只支持單機版數據庫,且安裝后的openGauss數據庫安裝路徑、數據路徑、監聽端口和數據庫用戶等都是系統默認的。其默認安裝目錄是/usr/local/opengauss,默認數據目錄是/var/lib/opengauss/data,默認安裝實例監聽的地址和端口是127.0.0.1:7654,默認數據庫用戶名為opengauss。通過su -opengauss 切換用戶后可以使用gsql -d postgres -p 7654實現數據庫的登錄,正常使用opengauss數據庫。

4 結論

通過基于openEuler 國產開源Linux 操作系統部署單節點openGauss國產開源關系型數據庫的實驗環境,深入了解openEuler 的運維、管理和簡單的故障處理以及openGauss數據庫部署的注意事項。通過實驗環境的部署發現單節點的部署相對比較簡單,下一步將進行繼續基于openEuler 進行一主一備、一主多備的數據庫環境部署,使得實驗環境更加貼合現實生產環境和企業場景需求。

猜你喜歡
編輯器開源命令
只聽主人的命令
五毛錢能買多少頭牛
車輛段收發車運行圖編輯器的設計與實現
移防命令下達后
大家說:開源、人工智能及創新
開源中國開源世界高峰論壇圓桌會議縱論開源與互聯網+創新2.0
這是人民的命令
開源計算機輔助翻譯工具研究
基于VLIW目標機的ELF二進制編輯器設計與實現
對盧溝橋事變期間一份“作戰命令”的考析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合