# 期末練習
###### 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
```

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
```

E.系統的自動更新機制:
請至少升級核心 (kernel) 到最新版本,且升級完畢後,需要重新開機為宜
這部主機需要作為未來開發軟體之用,因此需要安裝一個『 RPM 開發工具 』的軟體群組,請安裝他。
請設定每天凌晨 3 點自動背景進行全系統更新。
```=
yum update -y
yum groupinstall "Development Tools" -y 全系統更新
vim /etc/crontab
新增 0 3 * * * root yum update -y
reboot
```

### 2.帳號與權限控管方面的問題,包括新建帳號、帳號相關權限設定等
A.管理員的一般帳號設定:
請讓 student 可以順利使用自己的密碼操作 sudo 指令
```=
visudo [ESC]G #跳到最下面
新增 student ALL=(ALL) ALL
```

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
```

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
```

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
```

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
```

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
```

### 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
```

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`
---
## 常規化救援


```=
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
```