ceph 應用實例(Ceph架構簡介及使用)
2023-09-21 04:11:55 7
1. ceph架構簡介及使用場景介紹1.1 Ceph簡介Ceph是一個統一的分布式存儲系統,設計初衷是提供較好的性能、可靠性和可擴展性。
1.2 Ceph特點高性能、高可用、高擴展、特性豐富1.3 CephObject(對象):有原生的API,而且也兼容Swift和S3的API。Block(塊):支持精簡配置、快照、克隆。File(文件系統):Posix接口,支持快照。1.4 Ceph核心組件,概念
Monitor :保存,同步OSD元數據 (可以是OSD中的一員充當Monitor)OSD :OSD全稱Object Storage Device,也就是負責響應客戶端請求返回具體數據的進程。一個Ceph集群一般都有很多個OSD。MDS :MDS全稱Ceph Metadata Server,是CephFS服務依賴的元數據服務。Object:Ceph最底層的存儲單元是Object對象,每個Object包含元數據和原始數據。PG : PG是一個邏輯概念,我們linux系統中可以直接看到對象,但是無法直接看到PG。它在數據尋址時類似於資料庫中的索引:每個對象都會固定映射進一個PG中,所以當我們要尋找一個對象時,只需要先找到對象所屬的PG,然後遍歷這個PG就可以了,無需遍歷所有對象。而且在數據遷移時,也是以PG作為基本單位進行遷移,ceph不會直接操作對象。PG全稱Placement Grouops,是一個邏輯的概念,一個PG包含多個OSD。引入PG這一層其實是為了更好的分配數據和定位數據。RADOS :RADOS全稱Reliable Autonomic Distributed Object Store,是Ceph集群的精華,用戶實現數據分配、Failover等集群操作。Libradio :Librados是Rados提供庫,因為RADOS是協議很難直接訪問,因此上層的RBD、RGW和CephFS都是通過librados訪問的,目前提供PHP、Ruby、Java、Python、C和C 支持。CRUSH :CRUSH是Ceph使用的數據分布算法,類似一致性哈希,讓數據分配到預期的地方。RBD(塊存儲):RBD全稱RADOS block device,是Ceph對外提供的塊設備服務。RGW(對象存儲):RGW全稱RADOS gateway,是Ceph對外提供的對象存儲服務,接口與S3和Swift兼容CephFS(文件系統):CephFS全稱Ceph File System,是Ceph對外提供的文件系統服務。1.5 Ceph IO算法流程
首先文件被切分為多個Objects並以oid標記。引入PG邏輯概念(為了防止oid存儲時混亂不好搜索),並用crush算法生成pgid,把oid均勻分布給OSD中存儲。該算法大致是利用求餘數的概念,使得可以分配均勻。2 Ceph 為什麼使用Object存儲塊存儲:採用SAN架構組網時,光纖交換機,造價成本高。 主機之間無法共享數據。文件系統:讀寫速率低。 傳輸速率慢。對象存儲:具備快速存儲的讀寫高速。 具備文件存儲的共享等特性。3 實驗部署ceph集群
注意版本更新非常快,有問題看官方文檔官方文檔: http://docs.ceph.com/docs/master/start/目錄 部署luminous(ceph12.2.10的版本代號) 配置dashboard 客戶端使用rbd======================================部署環境系統版本:centos7.5 x86_64 serverceph版本:ceph 12.2.10(luminous)硬體配置:5臺vm,1核1G內存,每臺node角色的機器至少掛載1塊為osd準備的空閒盤 主機名 ip role admin 192.168.245.135 admin 管理多個minitor node1 192.168.245.136 mon / mgr / osd 類似minitor node2 192.168.245.137 osd node3 192.168.245.138 osd client 192.168.245.10======================================su和su - 的區別:su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而後者連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變量錯誤。su切換成root用戶以後,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。用echo $PATH命令看一下su和su -以後的環境變量有何不同。以此類推,要從當前用戶切換到其它用戶也一樣,應該使用su -命令。1 準備工作1.1 開啟網絡(所有節點,root用戶)1.2 修改主機名/互相解析(所有節點,root用戶)1.3 創建用戶(所有節點,root用戶) 在所有節點上執行如下操作: 1)創建用戶名:cephu,設置密碼: # useradd cephu # passwd cephu 2)修改visudo文件,否則提示cephu不再sudoer列表中的錯誤。 命令行輸入visudo,在root ALL=(ALL) ALL下面添加: cephu ALL=(ALL) ALL 3)切換至cephu用戶,為該用戶增加root權限:su - cephu $ echo "cephu ALL=(root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephu $ sudo chmod 0440 /etc/sudoers.d/cephu1.4 實現ssh無密碼登錄(admin節點) 1)cephu用戶下,生成秘鑰: $ ssh-keygen 2)cephu用戶下,把生成的密鑰拷貝到各Ceph節點: $ ssh-copy-id cephu@node1 $ ssh-copy-id cephu@node2 $ ssh-copy-id cephu@node3 3)root用戶下,添加~/.ssh/config配置文件,並進行如下設置: Host node1 Hostname node1 User cephu Host node2 Hostname node2 User cephu Host node3 Hostname node3 User cephu 1.5 添加下載源,安裝ceph-deploy(admin節點,root用戶) 1)添加ceph源: # cat >/etc/yum.repos.d/ceph.repo [ceph-noarch] name=Ceph noarch Packages baseurl=https://download.ceph.com/rpm-luminous/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc ctrl d 保存1.6 設置TTY(所有節點) 注意:此設置由官方文檔指出,但是並未在這裡找不到此配置行,不用做此步 # sudo visudo 找到 Defaults requiretty 注釋掉1.7 關閉selinux(所有節點)1.8 安裝ntp(所有節點) 選擇任何一臺機器當ntp時間伺服器,其他的節點當時間伺服器的客戶端跟伺服器同步時間 admin上: # yum install -y ntp # vim /etc/ntp.conf //有4行server的位置,把那4行server行注釋掉,填寫以下兩行 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 # systemctl start ntpd # systemctl status ntpd //確認打開NTP服務 其他所有節點: # yum install ntpdate -y # ntpdate 時間伺服器ip ======================================2 部署ceph集群沒有特別說明以下所有操作均是在admin節點,cephu用戶下執行2.1 創建ceph操作目錄: $ mkdir my-cluster //切記不可用sudo創建 $ cd my-cluster //之後,所有ceph-deploy命令操作必須在該目錄下執行2.2 創建集群: $ ceph-deploy new node1 創建成功會有三個文件:ceph.conf, ceph.mon.keyring, and a log file 2.3 安裝luminous(12.2.9): luminous理解為12.2.9的另一個叫法,即版本號的另一個叫法。 目標:在node1,node2,node3三個節點上安裝ceph和ceph-radosgw主包 方法1:利用官方腳本全自動安裝 腳本會幫助node1,node2,node3創建epel源和ceph源,並且自動安裝ceph和ceph-radosgw主包 $ ceph-deploy install --release luminous node1 node2 node3 client 這一步實際上是給3個節點安裝兩個軟體:如果ceph和ceph-radosgw安裝不上,則採用方法2 在千鋒做實驗要注意epel的源(切記) 測試是否安裝完成:分別在node1 node2 node3中確認安裝版本為12.2.9 $ ceph --version 方法2:手動部署安裝 1)安裝epel源 2)創建Ceph源,內容如下: [Ceph] name=Ceph packages for $basearch baseurl=http://download.ceph.com/rpm-luminous/el7/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [Ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-luminous/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [ceph-source] name=Ceph source packages baseurl=http://download.ceph.com/rpm-luminous/el7/SRPMS enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 3)分別在node1,node2,node3節點執行下面命令安裝軟體可以完全手動安裝,但需要yum的ceph緩存目錄結構 $sudo yum install ceph ceph-radosgw -y 如果因為速度慢導致安裝失敗可以按ctrl c,利用它創建的yum緩存目錄,手動把安裝包下載下來保存到緩存目錄/var/cache/yum/x86_64/Ceph/packages目錄下 再次執行安裝命令: $sudo yum install ceph ceph-radosgw -y 分別在node1 node2 node3中確認安裝版本為12.2.1: $ ceph --version2.4 初始化mon: $ ceph-deploy mon create-initial 2.5 賦予各個節點使用命令免用戶名權限: $ ceph-deploy admin node1 node2 node32.6 安裝ceph-mgr:只有luminous才有,為使用dashboard做準備 $ ceph-deploy mgr create node1 2.7 添加osd: 注意:各個節點上提供存儲空間的磁碟大小不能太小,最好5G以上 $ ceph-deploy osd create --data /dev/sdb node1(12.2.10版本是這條命令,分開給各節點安裝) $ ceph-deploy osd create --data /dev/sdb node2 $ ceph-deploy osd create --data /dev/sdb node3 命令中/dev/sdb是在各個節點上為osd準備的空閒磁碟(無需分區格式化,如果有分區需要指定具體分區),通過如下命令查看: $ ssh node1 lsblk -f 最後通過如下命令查看集群狀態: $ ssh node1 sudo ceph -s 如果顯示health_ok,3個osd up就成功了======================================3 Dashboard的配置:在node1上操作 Dashboard理解為展示界面把ceph-mgr和ceph-mon安裝在同一個主機上,最好只有一個ceph-mgr3.1 創建管理域秘鑰: $ sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'3.2 開啟 ceph-mgr 管理域: $ sudo ceph-mgr -i node13.3 查看ceph的狀態: $ sudo ceph status 確認mgr的狀態為active3.4 打開dashboard模塊: $ sudo ceph mgr module enable dashboard3.5 綁定開啟dashboard模塊的ceph-mgr節點的ip地址: $ sudo ceph config-key set mgr/dashboard/node1/server_addr 192.168.245.136 ip地址為mgr節點的ip地址3.6 web登錄: 瀏覽器地址欄輸入: mgr地址:7000======================================**** 4 配置客戶端使用rbd:創建塊設備之前需要創建存儲池,存儲池相關命令需要在mon節點執行4.1 創建存儲池: $ sudo ceph osd pool create rbd 128 1284.2 初始化存儲池: $ sudo rbd pool init rbd4.3 準備客戶端client: 另備一臺主機,系統centos7用來作為client。主機名為client,ip:192.168.245.10。修改hosts文件實現和admin節點的主機名互通。1)升級client內核到4.x,方法在子目錄中Centos7升級內核更新前,內核版本為: #uname -r 3.10.0-327.10.1.el7.x86_64升級方法導入key: #rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安裝elrepo的yum源: #rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm查看可用的系統內核包yum list available安裝內核: #yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~當前為4.4.4:============================================================ Package 架構 版本 源 大小============================================================正在安裝:kernel-ml x86_64 4.4.4-1.el7.elrepo elrepo-kernel 38Mkernel-ml-devel x86_64 4.4.4-1.el7.elrepo elrepo-kernel 10M~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 查看默認啟動順序 #awk -F\' {print $2}' /etc/grub2.cfg CentOS Linux (4.4.4-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core) 默認啟動的順序是從0開始,新內核是從頭插入(目前位置在0,而4.4.4的是在1),所以需要選擇0。 #grub2-set-default 0 然後reboot重啟,使用新的內核,下面是重啟後使用的內核版本: #uname -r 4.4.4-1.el7.elrepo.x86_64 5、刪除舊的內核 #yum remove kernel 2)為client安裝ceph: 1.參考2.3 在做2.3之前先在client上做1.3的三步 2.還要做著一步 否則報錯 #yum -y install python-setuptools3)配置client防火牆(直接關閉):$ sudo firewall-cmd --zone=public --add-service=ceph --permanent$ sudo firewall-cmd --reload4)在admin節點賦予client使用命令免用戶名權限: $ ceph-deploy admin client5)修改client下該文件的讀權限: $ sudo chmod r /etc/ceph/ceph.client.admin.keyring6)修改client下的ceph配置文件:這一步是為了解決映射鏡像時出錯問題 $ sudo vi /etc/ceph/ceph.conf 在global section下添加: rbd_default_features = 14.4 client節點創建塊設備鏡像:單位是M,這裡是4個G $ rbd create foo --size 4096 4.5 client節點映射鏡像到主機: $ sudo rbd map foo --name client.admin4.6 client節點格式化塊設備: $ sudo mkfs.ext4 -m 0 /dev/rbd/rbd/foo4.7 client節點mount塊設備: $ sudo mkdir /mnt/ceph-block-device $ sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device $ 客戶端重起之後,設備需要重新作映射,不然可能會卡死
時間同步方式2:
自建ceph源的方法
https://blog.csdn.net/michaelwoshi/article/details/94183198
ceph安裝問題集錦[cephu@centos7u3_1 my-cluster]$ ceph-deploy new node1Traceback (most recent call last): File "/bin/ceph-deploy", line 18, in from ceph_deploy.cli import main File "/usr/lib/python2.7/site-packages/ceph_deploy/cli.py", line 1, in import pkg_resourcesImportError: No module named pkg_resources重新安裝python的distribution:下載 distribution : https://pypi.python.org/pypi/distributecd distribution-0.7.3/sudo python setup.py installdistribution下載地址:https://files.pythonhosted.org/packages/5f/ad/1fde06877a8d7d5c9b60eff7de2d452f639916ae1d48f0b8f97bf97e570a/distribute-0.7.3.zip問題二[ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or dircat /etc/ceph/ceph.conf添加public_network= 192.168.122.0/24推送ceph-deploy --overwrite-conf config push admin node1 node2 node3https://www.cnblogs.com/aguncn/p/7352393.html https://blog.csdn.net/zhydream77/article/details/81041767問題三:ceph-deploy mon create-initial 時候```[node1][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.node1.asok mon_status[node1][ERROR ] no valid command found; 10 closest matches:[node1][ERROR ] perf reset [node1][ERROR ] perf histogram schema[node1][ERROR ] log reopen[node1][ERROR ] log flush[node1][ERROR ] perf histogram dump {} {}[node1][ERROR ] perf dump {} {}[node1][ERROR ] git_version[node1][ERROR ] get_command_descriptions[node1][ERROR ] log dump[node1][ERROR ] help[node1][ERROR ] admin_socket: invalid command[node1][WARNIN] monitor: mon.node1, might not be running yet[node1][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.node1.asok mon_status[node1][ERROR ] no valid command found; 10 closest matches:[node1][ERROR ] perf reset [node1][ERROR ] perf histogram schema[node1][ERROR ] log reopen[node1][ERROR ] log flush[node1][ERROR ] perf histogram dump {} {}[node1][ERROR ] perf dump {} {}[node1][ERROR ] git_version[node1][ERROR ] get_command_descriptions[node1][ERROR ] log dump[node1][ERROR ] help[node1][ERROR ] admin_socket: invalid command[node1][WARNIN] monitor node1 does not exist in monmap```原因: 第一次在做的時候沒有修改主機名是就生成了公私鑰,結果拷貝的公鑰有問題,在問題二推送配置的時候,排查後發現主機名的問題。之後初始化mon的時候出錯,排錯兩個小時,差點懷疑人生的時候突然發現,想起主機名的事情,就檢查了以下公私鑰,結果發現生成的公私鑰是以原主機名生成的,刪除後生成新的公私鑰,傳送公鑰後,還是失敗。但是感覺已經找到了問題所在,繼續排查,到node1查看日誌發現,地址被佔用,平復以下自己激動的心,然後冷靜的殺掉進程,重新初始化OK問題四:ceph-deploy osd create --data /dev/vdc node3[node1][WARNIN] ceph-volume lvm create: error: GPT headers found, they must be removed on: /dev/vdb[node1][ERROR ] RuntimeError: command returned non-zero exit status: 2[ceph_deploy.osd][ERROR ] Failed to execute command: /usr/sbin/ceph-volume --cluster ceph lvm create --bluestore --data /dev/vdb[ceph_deploy][ERROR ] GenericError: Failed to create 1 OSDs千萬不要分區,然後重新加磁碟,重新做又文檔說加上參數也可以但是ceph-deploy osd create --data /dev/vdc --fs-type xfs node3 不行[cephu@node1 ~]$ sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'[mgr.node1] key = AQD8HPdcmntqJRAAlZ3Aeialqq0nVcdcg axqQ==-------------問題:rdb map出錯rbd sysfs write failed創建了一個rbd鏡像 $ rbd create --size 4096 docker_test然後,在Ceph client端將該rbd鏡像映射為本地設備時出錯。 $ rbd map docker_test --name client.admin rbd: sysfs write failed RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable". In some cases useful info is found in syslog - try "dmesg | tail" or so.原因: rbd鏡像的一些特性,OS kernel並不支持,所以映射失敗。我們查看下該鏡像支持了哪些特性。 $ rbd info docker_test rbd image 'docker_test': size 4096 MB in 1024 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.43702ae8944a format: 2 features: layering, exclusive-lock, object-map, fast-diff, deep-flatten flags: 可以看到特性feature一欄,由於我OS的kernel只支持layering,其他都不支持,所以需要把部分不支持的特性disable掉。方法一: 直接diable這個rbd鏡像的不支持的特性: $ rbd feature disable docker_test exclusive-lock object-map fast-diff deep-flatten方法二: 創建rbd鏡像時就指明需要的特性,如: $ rbd create --size 4096 docker_test --image-feature layering 方法三: 如果還想一勞永逸那麼就在執行創建rbd鏡像命令的伺服器中,修改Ceph配置文件/etc/ceph/ceph.conf,在global section下,增加rbd_default_features = 1再創建rdb鏡像。 $ rbd create --size 4096 docker_test通過上述三種方法後,查看rbd鏡像的信息。 $ rbd info docker_test rbd image 'docker_test': size 4096 MB in 1024 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.43a22ae8944a format: 2 features: layering flags:再次嘗試映射rdb鏡像到本地塊設備,成功! $ rbd map docker_test --name client.admin /dev/rbd0======================================問題:[cephu@client ~]$ sudo rbd map docker_test --name client.adminrbd: sysfs write failedIn some cases useful info is found in syslog - try "dmesg | tail".rbd: map failed: (110) Connection timed out解決方案:[cephu@client ~]$ sudo ceph osd crush tunables hammeradjusted tunables profile to hammer然後重新 [cephu@client ~]$ sudo rbd map docker_test --name client.admin/dev/rbd0成功參考連結: https://randomopenstackthoughts.wordpress.com/2018/08/16/ceph-block-device/=====================================問題1:2.3步驟中,如果由於網速太慢,可以如下操作由於網速慢的問題,安裝並不會成功。之所以仍進行這一步,只因執行過了該命令就會自動創建相應文件夾。在進入各個節點手動安裝的時候,才能把下載的不成功的包放到正確的目錄下,這樣,手動安裝使用yum命令才會成功。之後進入每個節點執行安裝。以node1為例:• 先從https://download.ceph.com/rpm-luminous/el7/x86_64/ 下載所有最有最新版本的rpm包到本地• 之後使用secure shell client上傳到node1的/var/cache/yum/x86_64/7/Ceph/packages/文件夾下• 然後安裝ceph:$ ssh node1$ sudo yum install –y epel-release ceph ceph-radosgw雖然所有安裝包都在相應的目錄中了,但仍可能不成功,這個時候只需要再次重新把安裝包放到對應目錄後再執行該命令就成功了,原因不明。======================================問題2:2.3步驟中如果開啟防火牆需要做如下操作設置防火牆(由於node1既是mon節點又是osd節點,所以要添加下面兩個規則。其他節點只開啟ceph服務即可):$ sudo firewall-cmd --zone=public --add-service=ceph-mon --permanent //該規則僅在mon節點執行,如果不添加就不能在其他osd上進行一些查詢操作$ sudo firewall-cmd --zone=public --add-service=ceph --permanent$ sudo firewall-cmd --reload注意:該防火牆規則只能在安裝成功ceph後才能添加,否則就不識別,添加失敗。最後退出node1節點,返回admin節點~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~問題3:激活 OSD 的時候需要先把OSD所在伺服器的目錄所有者和所屬組手動改成ceph,不然無法激活[root@vm42 yum.repos.d]# chown ceph:ceph /var/local/osd2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~問題4:ceph:health_warn clock skew detected on mon的解決辦法造成集群狀態health_warn:clock skew detected on mon節點的原因有兩個,一個是mon節點上ntp伺服器未啟動,另一個是ceph設置的mon的時間偏差閾值比較小。 排查時也應遵循先第一個原因,後第二個原因的方式。第一步:確認ntp服務是否正常工作第二步:修改ceph配置中的時間偏差閾值1. 在admin部署節點修改配置參數:# vi ~/my-cluster/ceph.conf在global欄位下添加:mon clock drift allowed = 2mon clock drift warn backoff = 30 2. 向需要同步的mon節點推送配置文件:# ceph-deploy --overwrite-conf config push node{1..3}這裡是向node1 node2 node3推送,也可以後跟其它不聯繫節點 3. 重啟mon服務(centos7環境下)# systemctl restart ceph-mon.target4.驗證:# ceph -s顯示health_ok說明問題解決問題5:有些場景下,對osd進行一些操作,但是並不想要集群進行數據恢復,此時,可以通過設置noout標誌來實現:[root@node3 ~]# ceph osd set nooutnoout is set[root@node3 ~]# ceph -s cluster: id: b8b4aa68-d825-43e9-a60a-781c92fec20e health: HEALTH_WARN noout flag(s) set services: mon: 1 daemons, quorum node1 mgr: node1(active) osd: 6 osds: 6 up, 6 in flags noout data: pools: 0 pools, 0 pgs objects: 0 objects, 0 bytes usage: 6339 MB used, 55100 MB / 61440 MB avail pgs: 去除noout標誌命令:[root@node3 ~]# ceph osd unset nooutnoout is unset[root@node3 ~]# ceph -s cluster: id: b8b4aa68-d825-43e9-a60a-781c92fec20e health: HEALTH_OK services: mon: 1 daemons, quorum node1 mgr: node1(active) osd: 6 osds: 6 up, 6 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 bytes usage: 6339 MB used, 55100 MB / 61440 MB avail pgs: ==================================================Error: Package: 2:librbd1-12.2.12-0.el7.x86_64 (Ceph) Requires: liblttng-ust.so.0(64bit方法1sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ &&sudo yum install --nogpgcheck -y epel-release &&sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 &&sudo rm -f /etc/yum.repos.d/dl.fedoraproject.org*方法二:yum install epel-release -y wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm rpm -Uvh epel-release*rpm yum install lttng-ust -y
,