# 期末練習 ###### tags: `Linux` <style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> ## 開始考試的練習 -- VM 1: 系統設定與操作部份 ### 1.系統初始化設定 A.我需要每次開機都可以預設的進入純文字界面而非現行的圖形界面,可以節省許多不必要的資源浪費。 在系統自己開機後,預設會跑進純文字界面,沒有圖形界面的意思。 你在操作時,依舊可以『暫時』切換到圖形界面,沒有特別要求你一定要在文字界面答題。 ```= systemctl set-default multi-user.target(預設純文字介面) systemctl set-default gr[tab](預設圖形介面) reboot --> 重新開機一下 如有出現文字介面就成功了 systemctl iso[tab] gr[tab] --> 暫時切回圖形化介面 ``` B.請設定好這部主機的網路參數成為如下狀態 (全對才給分): 刪除原有的網路連線名稱,建立名為『 mynetwork 』的連線名稱,且使用到可對外的乙太網路界面。 需要開機就自動啟動這個連線 網路參數的設定方式為手動設定 網際網路位址 IP address 為: 192.168.251.XXX (XXX 為上課時,老師給予的號碼) 子網路遮罩 netmask 為: 255.255.255.0 通訊閘 Gateway 為: 192.168.251.254 領域名稱伺服器 DNS server 位址為: 172.16.200.254 以及 120.114.100.1 這兩個 主機名稱:請設定為 wwwXXX.book.vbird (其中 XXX 為上課時,老師給予的號碼) ```= nmcli connection show nmcli connection del[tab] ens3 nmcli connection add type ethernet ifname ens3 con-name 網卡名 connection.autoconnect yes nmcli connection show nmcli connection modify 網卡名 ipv4.method manual ipv4.addresses [ip位置/?] ipv4.dns [ip位置] ipv4.gateway [ip位置] nmcli connection up 網卡名 設定主機: hostnamectl set-hostname [主機名] hostnamectl ``` C.針對 YUM 的軟體倉儲設定,你有底下的兩組軟體倉儲位址,請設定好所需要的環境 (全對才給分): http://ftp.ksu.edu.tw/FTP/Linux/CentOS/8/AppStream/x86_64/os/ http://ftp.ksu.edu.tw/FTP/Linux/CentOS/8/BaseOS/x86_64/os/ ```= 先連網路 #yum install vim 不一定要載 可以用 vi vim /etc/yum.repos.d/ksu.repo 在下載yum ins[tab] chrony -y ``` ![](https://i.imgur.com/E3aKEVc.png) D.時區與時間及網路校時功能設計: 你系統的時間好像怪怪的,時區與時間好像都錯亂了!請改回台北的時區與時間。 請使用網路校時 (chronyd) 的方式,使用貴校 ntp.ksu.edu.tw 作為伺服器,主動更新你的系統時間。 且系統啟動之後,會持續網路校時以取得最正確的時間。(若貴校並無 NTP 伺服器,則以 time.stdtime.gov.tw 作為來源) ```= date timefatectl set-timezone Asia/Taipei timedatectl 在看一次時間不正確 date systemctl start chronyd systemctl ena[tab] chronyd cd yum install chrony vim /etc/chrony.conf 在第三行 註解 pool 新增server [伺服器] iburst systemctl rest[tab] chronyd ``` ![](https://i.imgur.com/z1XSGhM.png) E.系統的自動更新機制: 請至少升級核心 (kernel) 到最新版本,且升級完畢後,需要重新開機為宜 這部主機需要作為未來開發軟體之用,因此需要安裝一個『 RPM 開發工具 』的軟體群組,請安裝他。 請設定每天凌晨 3 點自動背景進行全系統更新。 ```= yum update -y yum groupinstall "Development Tools" -y 全系統更新 vim /etc/crontab 新增 0 3 * * * root yum update -y reboot ``` ![](https://i.imgur.com/IyfZGqJ.png) ### 2.帳號與權限控管方面的問題,包括新建帳號、帳號相關權限設定等 A.管理員的一般帳號設定: 請讓 student 可以順利使用自己的密碼操作 sudo 指令 ```= visudo [ESC]G #跳到最下面 新增 student ALL=(ALL) ALL ``` ![](https://i.imgur.com/EIndTyE.png) B.號鎖定功能: 有個名為 alex 的帳號,他的密碼為 mygodhehe ,這個帳號有點怪異,因此身為管理員的你,得要將該帳號暫時鎖定。 意思是說,這個帳號的所有資源都不變,但是該帳號無法順利使用密碼登入的意思(密碼鎖定) ```= passwd -l alex id alex #小於1000 ``` C.特殊系統帳號建置:建立一個名為 mysys1 的系統帳號,且這個系統帳號 不需要家目錄 不具備可互動的 shell 不需要密碼 ```= useradd -r -M -s /sbin/nologin [帳號] # -r 是不需要密碼 # -M 是不需要家目錄 # -s 是不具備可互動的 shell ``` D.預設帳號的權限屬性設定: 建立新用戶時,新用戶的家目錄應該都會出現一個名為 newhtml 的子目錄存在 新帳號登入時,預設將會『 rm='rm -i' 』『 cp='cp -i' 』『 mv='mv -i' 』這三個命令別名存在。 ```= cd /etc/skel mkdir newhtml vim .bashrc 新增 alias cp="cp -i" 新增 alias mv="mv -i" 新增 alias rm="rm -i" ``` E.特殊帳號管理的需求: 讓 /home 這個目錄支援使用者與群組的 Quota 磁碟配額功能 增加一個名為 examgroup 的群組 ```= vim /etc/fstab /home那行 defaults,usrquota,grpquota groupadd examgroup ``` ![](https://i.imgur.com/RTWKHuZ.png) F. 特殊帳號建立的需求: 請寫一隻名為 /root/users/addusers.sh 的腳本,這個腳本將用來處理特殊帳號的建置。 你應該使用 for…do…done 迴圈的方式來建立這隻腳本,而 for 迴圈內的程式碼,請依序使用如下的方式來建置妥當 **1. 建立帳號時的相關參數設計:** - 帳號名稱為: examuser11 ~ examuser30 共 20 個帳號 - 建立帳號時,每個帳號都要加入一個名為 examgroup 的次要群組支援 - 每個帳號的全名說明就是該帳號的名稱 **2. 每個帳號的密碼均為 myPassWord** **3. 並且每個帳號首次登入系統時,都會被強迫要求更改密碼 (chage ??)** **4. 每個帳號在 /home 的 Quota 為 soft --> 120MB, hard --> 150MB** **5. 修改每位帳號家目錄 (例如 examuser11 家目錄在 /home/examuser11/ ) 的權限成為 drwx--x--x 的模樣** **6. 腳本建置完畢後,請務必執行一次,以確定帳號可以順利被建立!** ```= mkdir /root/users vim /root/users/addusers.sh sh /root/users/addusers.sh ``` ![](https://i.imgur.com/57Xuw83.png) G. 群組共用目錄的功能:請建立一個名為 /data/myexam 的目錄,這個目錄的權限設定是這樣的: **1. 關於 examgroup 群組內的用戶權限:** - 該目錄可以讓 examgroup 的用戶具有完整的權限 - 而其他人不具備任何權限 - 在該目錄底下新建的資料(不論檔案還是目錄),新資料的擁有群組都會是 examgroup **2. 關於 examuser30 與 student 這兩個帳號的特定要求:** - 因為 examuser30 帳號被盜,因此 examuser30 針對 /data/myexam 設定為不具備任何權限 - 因為 student 是管理員的一般帳號,該帳號也需要查詢 /data/myexam 目錄下的資訊。 - 請讓 student 可以讀、進入該目錄,但不可以寫入該目錄。 - 未來在此目錄底下新建的任何資料,預設 student 都具有讀與進入目錄的權限(沒有寫入的權限喔!)。 ```= mkdir /data mkdir /data/myexam chgrp examgroup /data/myexam chmod 2770 /data/myexam setfacl -m u:examuser30:--- /data/myexam setfacl -m d:u:examuser30:--- /data/myexam setfacl -m u:student:rx /data/myexam setfacl -m d:u:student:rx /data/myexam ``` ### 3.系統基本操作,包括系統備份、自動化腳本、時間自動更新等機制 **A. 尋找特殊權限的檔名資料:** - 找出在/usr/bin, /usr/sbin 目錄下,具有 s 或 t 等特殊權限的檔名 (SUID/SGID/SBIT) - 將這些檔名連同權限,以類似 ll 輸出的資訊,將訊息輸出到 /data/findperm.txt 檔案中 ```= ll $(find /usr/bin /usr/sbin -perm /7000) -d ll $(find /usr/bin /usr/sbin -perm /7000) -d > /data/findperm.txt ``` B. 找尋 IP 參數輸出: - 使用『 ip addr show 』這個指令,將輸出訊息中,含有 inet 關鍵字的,但不能含有 inet6 關鍵字,一整列輸出 - 將上述的結果轉輸出到 /data/mynetwork.txt 檔案中。 ```= ip addr show | grep inet | grep -v inet6 ip addr show | grep inet | grep -v inet6 > /data/mynetwork.txt ``` C. 系統備份腳本製作:由於系統上面有非常多的重要資料必須要進行備份,因此我們想要使用一支 script 來進行備份的動作,且將該 script 定時執行: 1. 請撰寫一隻名為 /root/backup_system.sh 的腳本,來進行備份的工作 2. 需要備份的目錄有:/etc, /home, /var/spool/mail/, /var/spool/cron/, /var/spool/at/, /var/lib/,腳本的內容為: - 第一行一定要宣告 shell 喔! - 自動判斷 /backups 目錄是否存在,若不存在則 mkdir 建立她,若存在則不進行任何動作 - 設計一個名為 mysource 的變數,變數內容以空格隔開所需要備份的目錄 - 設計一個名為 mytarget 的變數,該變數為 tar 所建立的檔名,檔名命名規則 /backups/mysys\_20xx\_xx\_xx.tar.gz , 其中 20xx\_xx_xx 為西元年、月、日的數字,該數字依據你備份當天的日期由 date 自行取得。 - 開始利用 tar 來備份 3. 請注意,撰寫完畢之後,一定要立刻執行一次該腳本!確認實際有建立 /backups 以及相關的備份資料喔! ```= vim /root/backup_system.sh sh /root/backup_system.sh ``` ![](https://i.imgur.com/BbnQ1re.png) D. 定期備份功能:排定上述的備份指令在每個星期 6 的凌晨 2 點進行這個備份的動作,且這個script在執行的時候: - 備份指令執行的過程請使用資料流重導向將過程完整的儲存在 /backups/backup.log 這個檔案中(包括正確與錯誤資訊) - 使用 NI值 10 來執行此指令。 ```= vim /etc/crontab 新增 0 2 * * 6 root nice -n 10 sh /root/backup_system.sh > /backups/backup.log ``` ![](https://i.imgur.com/VQqbKVH.png) E. 我的 /usr/sbin/setquota 這個檔案不小心刪除了,該如何救回來?(可以使用 rpm 去追蹤是哪個軟體提供的檔案後,移除再安裝該軟體即可完成此題目。) ```= rpm -qf /usr/sbin/setquota #題目 yum remove quota-4.04-14.el8.x86_64 yum clean all yum install quota ``` F. 服務的管理部份,以 httpd 為例: - 讓你的 Linux 成為 http 以及 https 支援兩者的網頁伺服器 - 每次開機都會主動的喚醒這個伺服器功能 - Internet 應該要能夠連線到你的 http 以及 https 埠口服務 - 當輸入 http://localhost 時,可以看到的是你的 (1)姓名與 (2)學號 - 注意:上課提到的服務建置五個步驟! ```= yum install httpd mod_ssl -y systemctl start httpd systemctl enable httpd firewall-cmd --add-service=http firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https firewall-cmd --add-service=https --permanent firewall-cmd --reload vim /var/www/html/index.html 寫入: Jiang 4070C004 ``` ### 4.腳本建立與系統管理 A. 特殊原因,例如電力固定維護的關機情境問題: - 你的系統將在 7 月的 20 號 08:00 進行關機的歲修工作,請以『單次』工作排程來設計關機的動作 (poweroff) ```= at 8:00 AM July 20 > poweroff > [CTRL+D] ``` B. 系統開機的通知訊息: - 系統開機之後,會自動寄出一封 email 給 root,說明系統開機了。 - 指令可以是『 echo "reboot new" | mail -s 'reboot message' root 』 - 請注意,這個動作必須是系統『自動於開機完成後就動作』,而不需要使用者或管理員登入喔!(hint: rc.local) ```= vim /etc/rc.local 新增 echo "reboot new" | mail -s 'reboot message' root chmod +x /etc/rc.d/rc.local ``` C. 為了方便大家使用 ps 外帶的參數來查詢系統的程序,因此管理員建立一隻名為 /usr/local/bin/myprocess 的腳本讓大家方便使用,腳本內容主要為: - 第一行一定要宣告 shell 為 bash 才行; - 主要僅執行『 /bin/ps -Ao pid,user,cpu,tty,args 』 - 這隻腳本必須要讓所有人都可以執行才行! ```= vim /usr/local/bin/myprocess #!/bin/bash /bin/ps -Ao pid,user,cpu,tty,args # chmod a+x /usr/local/bin/myprocess ``` D. 寫一隻名為 /usr/local/bin/myans.sh 的腳本,這隻腳本的執行結果會這樣: - 腳本內第一行一定要宣告 shell 為 bash - 當執行 myans.sh true 時,螢幕會輸出『 Answer is true 』,且訊息為預設的 Standard output - 當執行 myans.sh false 時,螢幕會輸出『 Answer is false 』,且訊息輸出到 starndard error output - 當外帶參數不是 true 也不是 false 時,螢幕會輸出『 Usage: myans.sh true|false 』 - 這隻腳本必須要讓所有人都可以執行才行! ```= vim /usr/local/bin/myans.sh chmod a+x /usr/local/bin/myans.sh ``` ![](https://i.imgur.com/vGycW1m.png) ### 5.基礎檔案管理與檔案系統維護: A. 打包檔案的格式錯誤問題: - 你的系統中有個檔名 /root/mybackup 的檔案,這個檔案原本是備份系統的資料,但副檔名不小心寫錯了! - 請將這個檔案修訂成為比較正確的副檔名 (例如 /root/mybackup.txt 之類的模樣) - 並且將該檔案在 /srv/testing/ 目錄中解開這個檔案的內容。 ```= file /root/mybackup mv /root/mybackup /root/mybackup.tar.xz mkdir /srv/testing tar -xJf /root/mybackup.tar.xz -C /srv/testing ``` B. LVM 彈性容量變化的效果: - 目前的系統中, /home 應該使用的是 LVM 的維護模式。請找出 /home 所在的 VG 剩餘容量 - 將 VG 所有剩餘容量通通提供給 /home 使用,因此整個 /home 的容量將會放大很多。 - 在目前的系統中,掛載在 /home 的LVM格式資料,請將它的容量變成 - 且這個目錄內的資料並不會消失(無須重新格式化的意思)。 ```= vgscan vgdisplay rocky lvscan lvresize -l +1536 /dev/rocky/home ``` #### 完成VM1重新開機 上傳: `vbird_book_check_unit` --- ## 開始考試的練習 \-\- VM 2: 系統救援與檔案系統部份 重要訊息: - 這個系統容量比較小,而且預設在文字界面 - 這個系統目前已經沒有圖形界面,所以你無法進入圖形界面。 - 若你想要使用圖形界面操作系統,可能需要安裝 ==yum groupinstall GNOME== 才行。 - 同樣的,預設界面一定要是純文字界面才可以! - 這部主機真的怪怪的,之前的管理員似乎在這部主機上面進行一些測試,追問之下有一些可能發生的原因,問題還不只一個。 請依據底下可能發生原因的問題予以克服,最終讓系統可以直接以 root 登入! (hint: 千萬不要忘記 ==.autorelabel== 的動作!) ### A. 系統救援 \- 1 :核心相關資料錯誤造成的問題 - 原因:因為要測試核心開機功能,結果不小心將 initramfs 檔案刪除掉了,所以應該是無法順利開機。 - 建議救援方式:使用原版光碟處理,請進入系統救援的模式,並依據系統既有的核心版本,將 initramfs 重建 - 注意:(1)重建時,應考慮 grub2 的原本設定檔 (可能會在哪裡?),以找到正確的檔名,方可順利成功開機喔。 (2)你可以使用任何一個 CentOS 8.x 的光碟做救援,但是需要注意不同的核心版本的問題! ### B.系統救援 \- 2 :管理員手滑造成的 root 屬性問題 - 原因:因為幫用戶設定屬性,結果不小心『可能』修改到 root 這個帳號的相關屬性資料。 - 救援恢復的要求: (1)root 密碼恢復到 myCentOS8;(2)root 登入時可順利取得 bash shell 。 ```= 選擇8.2光碟開機進入 trouble shooting sh-4.4# chroot /mnt/sysimage bash-4.4# ls /lib/modules bash-4.4# cd /boot bash-4.4# dracut -v --add-drivers ixgbe initramfs-4.18.0-348.el8.0.2.x86_64.img 4.18.0-348.el8.0.2.x86_64 bash-4.4# lsinitrd initramfs-4.18.0-348.el8.0.2.x86_64.img | grep -i ixgbe ``` ```= bash-4.4# passwd root : myCentOS8 : myCentOS8 bash-4.4# usermod -s /bin/bash root bash-4.4# grep root /etc/passwd bash-4.4# touch /.autorelabel bash-4.4# exit sh-4.4# reboot ``` ### C. 系統救援 \- 3 :LVM 隨便刪除造成的錯誤 - 原因:在發生此錯誤之前,似乎曾經將系統的 LVM swap 刪除,是否如此造成系統錯誤還不得而之。 - 建議救援方式:不要使用光碟,使用核心支援的維護模式,查看一下開機選單的內容是否正確。 - 注意:在順利登入系統之後,你或許需要 (1)重建 grub 選單以及 (2)修改 /etc/fstab 檔案,以處理 swap 產生的問題 - 注意:刪除 swap 為正常的行為,所以,請不要重建 lvm 的 swap 裝置!從選單去處理! ```= vim /etc/fstab 刪除 /dev/mapper/rocky-swap vim /etc/default/grub 刪除有關 rocky-swap 以及 lvm swap 設定 grub2-mkconfig -o /boot/grub2/grub.cfg reboot ``` ![](https://i.imgur.com/lswB8zx.jpg) D. 不是題目:在使用 root 正確登入系統之後,請使用 ==vbird\_book\_setup_ip== 設定好你的學號與網路。 ### 2.系統初始化功能: A. 針對 YUM 的軟體倉儲設定,你有底下的兩組軟體倉儲位址,請設定好所需要的環境 (全對才給分): - http://ftp.ksu.edu.tw/FTP/Linux/CentOS/8/AppStream/x86_64/os/ - http://ftp.ksu.edu.tw/FTP/Linux/CentOS/8/BaseOS/x86_64/os/ ```= vim /etc/yum.repos.d/ksu.repo [AppStream] name = app baseurl = http://ftp.ksu.edu.tw/FTP/Linux/rocky/8/AppStream/x86_64/os/ enabled = 1 gpgcheck = 0 [BaseOS] name = base baseurl = http://ftp.ksu.edu.tw/FTP/Linux/rocky/8/BaseOS/x86_64/os/ enabled = 1 gpgcheck = 0 ``` B. 系統升級行為 - 只針對 kernel 升級即可 - 升級完畢請立刻重新開機,且使用新核心 ```= yum update -y reboot ``` C. 關於開機選單調整 - timeout時間設定為 15 秒, - 預設所有的核心參數都會加入 noapic 及 noacpi 兩個參數 - 開機選單多一個回到MBR的設定,選單名稱內亦須包含『 MBR 』字樣,且選單位於最後一個位置 - 開機選單在最後多一項可以進入圖形界面模式,這個圖形界面請使用原有的核心版本 (不是剛剛升級的核心版本), 且title必須含有『 mygraphical 』的字樣才行! ```= vim /etc/default/grub 更改 TIMEOUT=15 更改 CMDLINE_LINUX="... quiet noapic noacpi" vim /etc/grub.d/40_custom menuentry 'Go to MBR' --id 'mbr' { insmod chain set root=(hd0) chainloader +1 } cd /boot/loader/entries cp [舊核心檔名] custom-graphical-4.18.0-348.el8.0.2.x86_64.conf vim custom-graphical-4.18.0-348.el8.0.2.x86_64.conf 更改 title 增加 mygraphical 更改 options 增加 systemd.unit=graphical.target ``` ### 3.檔案系統方面的處理,包含分割(注意primary, extended, logical的限制)、格式化、掛載等 A. 軟體磁碟陣列管理:目前的系統有個出現磁碟出問題而快要損毀 (degrade) 的軟體磁碟陣列,找出並修復好該系統。 - 該磁碟似乎已經被拔除一個 partition - 找出系統中具有的跟 RAID 內的 partition 容量相同,且沒有被使用的 partition,那就是這個 RAID 缺乏的磁碟槽 (假設已經被修理好了) - 請將該磁碟槽加入原本的系統中,以救援這個磁碟陣列 (讓他變成 clean 的狀態,改變 degraded 的困擾) ```= lsblk mdadm --detail /dev/md5 mdadm --manage /dev/md5 --add /dev/vda4 ``` B. 記憶體置換容量的處理: - 目前這個系統裡面似乎所有的 swap 通通被刪除了!不過這樣實在不太好。 - 建立大型檔案,檔名為 /myswap.img,容量大概是 1G 即可。 - 將上述檔案格式化成為 swap - 每次開機這個 swap 都會主動被系統所使用。 ```= dd if=/dev/zero of=/myswap.img bs=1024M count=1 mkswap /myswap.img vim /etc/fstab 新增 /myswap.img swap swap defaults 0 0 swapon -a ``` C. LVM 的建立與 VDO 的應用 - 將目前這個系統當中的所有剩餘容量建立成為單一分割槽,並且將 system ID 設定為 LVM - 利用上面這個分割槽,建立一個名為 thevg 的 VG ,且 PE 容量為 8M - 將 thevg 的所有容量通通給予名為 thelv 的 lv,所以最終會出現 /dev/thevg/thelv 的裝置。 - 將 /dev/thevg/thelv 加入到 VDO 的支援,建立名為如下的 VDO 裝置 - VDO 名稱為 thevdo - VDO 虛擬容量為 20G - 裝置使用 /dev/thevg/thelv - 將 VDO 裝置格式化成為 XFS 檔案系統 - 此裝置開機後會立刻掛載到 /data/vmdata 目錄下 ```= fdisk /dev/vda : n : [enter] : [enter] : [enter] : t : 31 (LVM type) : w pvcreate /dev/vda6 vgcreate -s 8M thevg /dev/vda6 lvcreate -n thelv -l 903 thevg yum install vdo kmod-kvdo -y systemctl restart vdo systemctl enable vdo vdo create --name=thevdo --vdoLogicalSize=20G --device=/dev/thevg/thelv --deduplication enabled --compression enabled mkfs.xfs /dev/mapper/thevdo mkdir /data mkdir /data/vmdata vim /etc/fstab 新增 UUID=... /data/vmdata xfs defaults 0 0 mount -a ``` D. LVM 與 stratisd 的應用 - 將 centos 這個 VG 的剩餘容量,給予一個名為 ==thepool== 的 LVM 裝置,最終會有 ==/dev/centos/thepool== 裝置存在。 - 將 ==thepool== 加入到名為 ==lvmpool== 的儲存池 (thin pool) 當中 - 建立 ==thefs== 檔案系統,並且開機會掛載到 ==/data/mypool== 目錄下。 - 上述掛載最好使用 UUID 來處理! ```= vgdisplay rocky lvcreate -n thepool -l 1536 rocky yum install stratisd stratis-cli -y systemctl start stratisd systemctl enable stratisd stratis pool create lvmpool /dev/rocky/thepool stratis filesystem create lvmpool thefs mkdir /data/mypool vim /etc/fstab 新增 UUID=... /data/mypool xfs defaults,x-systemd.requires=stratisd.service 0 0 mount -a ``` ### 4.系統效能處理: A. 請改用『 throughput-performance 』來動態調整系統效能 ```= tuned-adm profile throughput-performance tuned-adm active ``` B. 調整核心參數,讓每次開機都會修改成為底下這樣: - /proc/sys/vm/dirty_ratio 改成 40 - /proc/sys/vm/dirty\_background\_ratio 改成 5 - /proc/sys/vm/swappiness 改成 10 ```= vim /etc/sysctl.d/myrocky.conf vm.dirty_ratio = 40 vm.dirty_background_ratio = 5 vm.swappiness = 10 sysctl -p /etc/sysctl.d/myrocky.conf ``` #### 完成VM2重新開機 上傳: `vbird_book_check_unit` --- ## 常規化救援 ![](https://i.imgur.com/D4nXfPO.png) ![](https://i.imgur.com/AbHIdFh.png) ```= mount | grep sysroot mount -o remount,rw /sysroot mount | grep sysroot chroot /sysroot usermod -s /bin/bash root grep root /etc/passwd touch /.autorelabel ls -l -ad /.autorelabel exit reboot ```