如何使用root使用者執行J版Ceph

2021-07-25 01:55:36 字數 1588 閱讀 4405

os版本: centos 7 ,ceph版本: 10.2.3

一直在使用ceph的h版本,最近切換到了j版,在部署完j版ceph後啟動osd竟然報失敗,部署過n^n次ceph集群怎麼能容忍部署失敗呢!遂慢慢尋找問題。尋找問題的過程不表,最後原因確定為集群使用了一些ssd做了journal,但是這些ssd的使用者和使用者組都是root,所以在預設使用ceph使用者執行的osd程序對這些盤沒有讀寫許可權,導致open journal失敗,然後osd自然就起不來了。正常情況下應該更改一下ssds的歸屬組什麼的就好了(比如chown ceph:ceph /dev/sdx)。但是我就喜歡root(不是個好習慣不推薦)玩一下該怎麼辦呢,j版ceph服務使用systemctl進行起停,所以我們只需要在這裡動點手腳就萬事大吉了。具體做法就是修改一下檔案

/usr/lib/systemd/system/[email protected]

將第12行中的

–setuser ceph –setgroup ceph

修改為

–setuser root –setgroup root.

修改後的該檔案如下

1 [unit]

2 description=ceph object storage daemon

3 after=network-online.target local-fs.target time-sync.target

4 wants=network-online.target local-fs.target time-sync.target

5 partof=ceph-osd.target

67 [service]

8 limitnofile=1048576

9 limitnproc=1048576

10 environmentfile=-/etc/sysconfig/ceph

11 environment=cluster=ceph

12 execstart=/usr/bin/ceph-osd -f --cluster $ --id %i --setuser root --setgroup root

13 execstartpre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster $ --id %i

14 execreload=/bin/kill -hup $mainpid

15 protecthome=true

16 protectsystem=full

17 privatetmp=true

18 tasksmax=infinity

19 restart=on-failure

20 startlimitinterval=30

min21 startlimitburst=3

2223 [install]

24 wantedby=ceph-osd.target

如此重新啟動ceph-osd (systemctl restart ceph-osd@*)就會發現osd程序是使用root使用者在執行了。

使用root使用者執行MYSQL的安全隱患

當你連線乙個mysql伺服器時,你通常應該使用乙個口令。口令不以明文在連線上傳輸。所有其他資訊作為能被所有人讀懂的文字被傳輸。如果你擔心這個,你可使用壓縮協議 mysql3.22和以上版本 使事情變得更難。甚至為了使一切更安全,你應該安裝ssh 見http www.cs.hut.fi ssh 用他,...

nginx授權非root使用者執行

1.修改nginx.conf檔案配置,首行改為 user root 2.nginx檔案屬性設定 1 進入nginx執行檔案目錄 cd usr local nginx sbin 2 設定所屬組為root chown root root nginx 3 檔案許可權755,所屬使用者全許可權,所屬組讀 執...

root使用者和sudo使用root許可權的區別

linux 114 能 以root的身分執行命令 語法 sudo 其他指令 使用者 被root加入 etc sudoers 檔案中的使用者 1 root的密碼除了root本人知道外,不需被其他需要用到root許可權使用者知道,因為使用sudo時,要求輸入的密碼是 該位使用者自己的密碼 2 把所有可執...