Red Hat Linux 133 實驗(KevinZ) [轉]

發表于:2007-05-26來源:作者:點擊數: 標簽:
133 實驗 ###請轉貼時保留以下內容###### Red Hat Linux 133 實驗部分 應廣大RH愛好者的要求,奉獻Red Hat Linux 133 實驗翻譯 在此感謝文華學院Linux組全體講師和他們為翻譯工作付出的努力! 登陸http://www.wenhua.org 了解RHCE認證信息 登陸http://bbs.wenh

133 實驗
###請轉貼時保留以下內容######
Red Hat Linux 133 實驗部分
應廣大RH愛好者的要求,奉獻Red Hat Linux 133 實驗翻譯
在此感謝文華學院Linux組全體講師和他們為翻譯工作付出的努力!
登陸http://www.wenhua.org 了解RHCE認證信息
登陸http://bbs.wenhua.org 參加討論
請提出寶貴意見Mail:kevinzou@wenhua.org

KevinZ(kissingwolf)
2004.1.4
#############################
Lab1 硬件和安裝
步驟一:準備計算機
任務: 使用Red Hat Linux光盤啟動系統
在啟動時進入BIOS界面
設置系統啟動順序為A,CDROM,C
修改其他任何推薦的設置
保存并退出BIOS設置
步驟二:使用Anaconda(圖形模式)安裝Red Hat Linux
任務: 按照以下要求從光盤安裝Red Hat Linux。注意,要初始化圖形安裝界面可能需要等待一兩分鐘。
l 使用檢測到的鼠標配置(除非老師另有指定)
l 選擇全新安裝
l 使用定制安裝選項
l 選擇使用Disk Druid手動分區,刪除所有原有的分區
l 使用以下分區方案:
n /boot 100M
n / 256M
n /usr 1000M
n swap 512M
n /var 400M
l 格式化所有分區,但是不選擇檢查壞塊
l 使用默認的啟動加載器設置(除非老師另有指定),不創建啟動加載器密碼
l 為網絡設置選擇DHCP,選擇啟動時激活
l 使用默認防火墻配置
l 選擇適當的語言支持
l 設置對應的時區,根據老師的指示設置UTC
l 設置根密碼為redhat
l 啟用MD5和shaow密碼模式(默認驗證設置)
l 選擇安裝X window,不選任何其他組件
l 切換到tty5查看文件系統格式化的過程(使用Ctrl-Alt-5,用Alt-7切換回安裝向導)
l 創建啟動軟盤可選
l 使用檢測到的顯示器和圖形卡設置(除非老師另有指定)
l 配置使用圖形界面登錄
l 在安裝結束后重啟,完成初始化設置,不注冊Red Hat Network

安裝結束后啟動系統,以root帳號登錄,并檢查以下文件:
l /var/log/messages
l /var/log/dmesg

以上安裝的系統使用twm視窗管理器。通過后續的實驗,我們將安裝更多的軟件包,實現功能的擴展和界面的美觀

步驟三:使用NFS,FTP或HTTP安裝Red Hat Linux
任務: 破壞現有的系統,重新安裝Red Hat Linux。事先準備安裝光盤1或從老師那里得到啟動的介質。

破壞現有系統:
cat /var/log/messages > /dev/hda; reboot
cat /var/log/messages > /dev/sda; reboot

重啟后使用啟動介質啟動,按照以下要求安裝(由于已經覆蓋了分區表,系統將警告沒有找到分區表,必須重新初始化)

1. 使用CD啟動
2. 在boot提示下回車
3. 選擇對應的語言(English)
4. 在OK提示下回車
5. 選擇對應的鍵盤(US)
6. 在OK提示下回車
7. 選擇對應的安裝方式(NFS鏡像,FTP,HTTP)
8. 配置TCP/IP,選擇“使用動態IP配置(BOOTP/DHCP)”
9. 在OK提示下回車
10. 根據選擇的安裝方式輸入對應的信息:

FTP方式
FTP站點名稱:192.168.0.254
Red Hat目錄:pub/

HTTP方式
Web站點名稱:192.168.0.254
Red Hat目錄:pub/

NFS方式
NFS服務器名:192.168.0.254
NFS加載點:/var/ftp/pub

11. 這時Anaconda會讀取安裝鏡像并檢測顯示器和鼠標的類型,顯示歡迎界面
12. 選擇定制安裝
13. 使用diskdruid分區。使用以下分區方案:
/boot 100M
/ 2000M
swap 512M
/home 3 × 256M RAID0

14. 啟動加載器,時區,圖形,防火墻和驗證方式都是用默認設置,除非教師指定
15. 設置適當的語言
16. 設置root密碼為redhat
17. 安裝默認的軟件包

*指南中的分區方案非常重要,否則可能出現意料外的結果。


Lab2 Linux文件系統
目標:熟悉文件系統相關知識和技能

步驟一:創建和加載文件系統
任務:
1. 使用fdisk –l 得到ev/hda的分區尺寸信息。計算硬盤上沒有分區的空間尺寸
2. 使用fdisk新增一個512M的邏輯分區(使用w命令將改動寫入磁盤)。這個新分區的設備名是/dev/had_ ?為什么?
3. 重啟以確定改動后的分區表被讀入
4. 使用mke2fs,在新建的分區上創建一個新的ext2文件系統。創建時使用2k的塊,每4k一個inode的設置??赡苄枰榭磎ke2fs的man page
5. 創建目錄/data,作為該文件系統的加載點
6. 使用mount命令把新文件系統加載到/data。把/etc/passwd復制到/data,檢查確認復制成功
7. Umount /data
8. 使用e2label為新分區指定卷標:
e2label /dev/hdax /data x是新創建分區的序號
9. 在/etc/fstab文件中為加載/data加入以下行:
LABEL=/data /data ext2 defaults 1 2
或者
/dev/hdax /data ext2 defaults 1 2
以上兩行的實際效果相同。但是,如果更換了硬盤的總線或者是更改了主從的順序,在fstab中使用卷標仍然可以定位這個設備
10. 加載新的分區
mount /data
11. 復制文件或使用touch 創建文件

步驟二:把ext2轉換為ext3
1. 鍵入sync。這個命令把磁盤緩存信息寫入磁盤。通常這個命令是定期執行的,但是以下步驟可能會先占自動同步。
2. 使用reset鍵重啟動,或者使用電源開關關閉再打開(正常情況下不要這樣)
3. 如果出現“Repair filesystem”的提示,嘗試使用e2fsck /dev/hdx 修復文件系統
4. 成功啟動后,通過創建journaling inode日志把ext2文件系統轉換為ext3。因為ext3 的數據完整性和文件系統完整性大大增強了,所以可以 把自動預加載(pre-mount)基于時間的定期文件系統檢查。
Tune2fs –j –c 0 –i 0 /dev/
5. 檢查文件系統的characteristics
tune2fs –l /dev/
6. 編輯/etc/fstab /data的相關行,把文件系統由etx2更改為ext3
7. 卸載并用ext3重新加載文件系統,確認使用了ext3:
umount /data ; mount /data
df –T /data
8. 確認/boot下初始的虛擬盤鏡像中包含了必要的ext3模塊和jbd日志模塊。如果/data是你的機器上的第一個ext3文件系統,很可能 initrd中并不包含這些模塊。這種情況只當我們需要ext3的支持而在initrd中又不包括相關的模塊時非常重要。假設出現了這種情況,我們可以制 作一個/boot/initrd-.img文件:
mkinitrd –f –v /boot/initrd-$(uname –r).img $(uname –r)
9. 鍵入sync,然后手動重啟動系統。
10. 觀察啟動過程。系統檢查了哪個文件系統?在/data文件系統,是否看到了“recovering journal”提示信息?當不正常重啟時,使用ext3的日志恢復是否比ext2的fsck快了?

步驟三:使用autofs自動加載系統
1. 確認iptables已經關閉
2. 編輯/etc/auto.master文件,去掉對/misc一行的注釋
3. 在/etc/auto.misc文件中增加一行,用于加載server1.example.com的/var/ftp/pub目錄到本機的目的/server1. 可以參考ftp.example.com行的示例.
4. 重啟autofs服務 service autofs restart
5. 測試/misc/server1目錄


Lab 3 管理啟動
目標: 定制系統服務的技巧

步驟一: 使用chkconfig禁用服務
1. 使用chkconfig檢查系統服務的狀態: chkconfig --list
2. 使用以下示例將isdn在所有runlevel關閉
chkconfig --del
3. 使用--help 查看chkconfig語法信息 chkconfig --help. 關閉runlevel3和runlevel5的kudzu服務
4. 觀察 on 和 --add 的差異, off 和 --de 的差異
chkconfig isdn --list
chkconfig isdn on
chkconfig isdn --list
chkconfig isdn off
chkconfig isdn --list
chkconfig isdn --del
chkconfig isdn --list
chkconfig isdn --add
chkconfig isdn --list
5. 使用chkconfig查看系統服務的狀態和改變狀態

步驟二: 更改系統登錄標題
1. 我們將設置rc.local腳本用于每次重啟時出現登錄標題. 打開/etc/rc.local文件找到以下行:
touch /var/lock/subsys/local
2. 在后面插入以下行:
echo “ Welcome to \n” > /etc/issue
echo “All aclearcase/" target="_blank" >ccess to this computer is monitored” >> /etc/issue
echo “Unauthorized access is prohibited” >> /etc/issue
echo >> /etc/issue
echo “Last reboot complete at $(/bin/date)” >> /etc/issue
3. 保存文件,把/etc/issue復制為/etc/issue.orig
4. 重啟動系統
5. 當系統啟動后,切換到虛擬控制臺確認登錄標題出現了. 打開/etc/issue, 注意mingetty把\n擴展為你的主機名

步驟三: 更改默認runlevel
1. 編輯/etc/inittab文件,將默認runlevel從5改為3,如下:
id:3:initdefault:
2. 重啟動系統.發生了什么?
3. 把默認runlevel改為5,重啟動系統

步驟四: 增加當天的消息
1. 編輯/etc/motd文件,默認應為空. 增加以下行:
##################################
# Welcome to station xx #
##################################
The sysadmin is playing today.
Expect frequent system downtime.
2. 切換到虛擬控制臺登錄.


Lab 4 用戶和組管理
目標: 用戶和組管理的技巧

步驟一: 創建用戶和組
1. 使用useradd命令,為以下用戶創建帳號:Joshua, alex, dax, bryan, zak, ed, manager. 為每個用戶設置一個密碼.
2. 使用groupadd命令,增加以下組: 并使用 –g 選項設定對應的GID
group gid
sales 10000
hr 10001
web 10002
為什么不用系統默認的gid?
3. 使用usermod命令把joshua和alex增加到sales組, dax和bryan到hr組, zak和ed到web組. 把manager加入所有組. 使用 –G選項.
4. 用各帳戶登錄,使用id命令確認組成員身份. 還有什么方法可以確認?

步驟二: 設置共享文件夾
1. 創建/depts目錄,在目錄下創建sales, hr, web文件夾
mkdir –p /depts./
2. 使用chgrp命令設置對應組擁有對應文件夾
chgrp sales /depts/sales
3. 設置/depts目錄的權限為755, 子文件夾的權限為770
4. 設置各部門的子文件夾的sgid, 使得創建的文件所有權為對應的組
shmod g+s /depts/sales
5. 使用各個帳號登錄,并在對應位置創建文件,檢查效果.只有manager可以進入所有的目錄.也可以使用su -命令,但是要加上-,并且su下一個帳戶之前要退出前一個帳戶.

步驟三: 設置磁盤配額
1. 創建名為filehog的帳戶,并設置用戶在/home目錄有60個inode的軟限制和100個inode的硬限制. 使用以下命令測試, 要使用su - 命令,否則會失敗.
su – filehog
quota
for I in $(seq 1 100); do echo –n “file$(i)”; touch file$(i) 2 >&1; done | less
quota

quota命令會報告當前的限制和已經使用的inode. 使用循環的目的是創建100個文件. 因為當創建用戶filehog的時候需要從/etc/skel復制一些文件,所以創建100個文件的命令將不會成功.
如果quota設置成功,你會看到一系列反饋的數字直到達到軟限制的數目. 超過限制后,會看到一個警告,但是命令仍然能夠執行.達到硬限制后,將得到出錯信息,而且不能再創建任何文件. 可以用回滾檢查輸出,并且用ls命令查看filehog的主目錄.
2. 創建一個名為diskhog的用戶, 設置用戶在/home目錄的軟限制為4MB, 硬限制為5MB,使用以下命令測試
su – diskhog
quota
dd if=/dev/zero of=bigfile count=3 #將成功
dd if=/dev/zero of=bigfile count=4 #將成功
dd if=/dev/zero of=bigfile count=5 #將失敗
觀察quota命令的輸出. 注意當超出inode軟限制和block軟限制的輸出差別.達到inode軟限制時用戶得到警告,而達到block軟限制時是不同的.

步驟四: 客戶端NIS
1. 使用authconfig配置系統為NIS客戶. 設置notexample為NIS域名, 服務器為192.168.0.254
2. 試用guest200x為帳號從虛擬控制臺登錄, x為座位編號.發生了什么? 如果登錄失敗,檢查設置.如果還有問題,確認教師機的設置正確.當驗證成功后,你將看到shell的目錄為/. 因為沒有在本地創建帳號,所以沒有主目錄. 當用戶帳戶使用目錄服務的時候會出現這種情況,無論是NIS,LDAP還是SMB
3. 使用autofs解決主目錄問題.用戶主目錄位于server1.example.com,我們可以加載基于NFS的共享來提供用戶環境.首先編輯/etc/auto.master,增加以下行
/home/guests /etc/auto.guests --timeout=60
這條記錄告訴自動加載器(內核模塊之一)/home/guests由它控制.所有相關的加載設置保存在/etc/auto.guests文件中,而且如果60秒內沒有活動就自動卸載.
4. 創建并編輯/etc/auto.guests文件.增加以下行:
* -rw, soft, intr 192.168.0.254:/home/guests/&
這條記錄指明在目錄下的所有子目錄都配置為從192.168.0.254:/home/guests下的相應目錄加載,并且設為:讀寫,如果加載不成功就返回超時,并且在加載不可用時仍允許進程訪問文件.
5. 配置autofs在runlevel3,4,5時運行,并手動啟動:
chkconfig autofs on
service autofs start
6. 登錄并查看是否主目錄自動加載.可以試驗登錄到附近的其他機器.你將可以在notexample域內的任何一臺機器上獲得自己的用戶環境.
7. 在自己的機器上以root登錄,,使用su –guest200x.是否提示輸入密碼? 這意味著本地root帳號和NIS域之間是什么關系?

配額方案:
1. 編輯/etc/fstab, 用usrquota代替defaults, 然后執行 mount –o remount /home
2. 創建一個用于保存用戶配額的數據庫(-c 可以在第一次運行quotacheck時隱藏警告)
touch /home/aquots.user
quotacheck –c /home
3. 打開內核強制配額
quotaon /home
4. 設置EDITOR變量為你希望的文本編輯器
5. edquota filehog 設置硬節點限制為100,軟節點限制為60
6. edquota diskhog 設置軟塊限制為4096,硬塊限制為5120

Lab 5 靜態網絡設置
目標: 手動配置網絡設置的技巧
步驟一: 設置IP地址
1. 使用ifdown命令關閉網卡
ifdown eth0

2. 用文本編輯器打開/etc/sysconfig.network-scripts/ifcfg-eth0, 按以下內容更改(x為你的座位號)
DEVICE=eth0
BOOTPROTO=none
onBOOT=yes
IPADDR=192.168.0.x
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
3. 查看/etc/resolv.conf的內容.里面應該包含從DHCP服務器得到的設置.如果沒有.改為以下設置:
search example.com
nameserver 192.168.0.254
4. 使用ifup啟動配置好的網卡
ifup eth0
5. 使用ping server1 確認網絡配置
6. 重啟動系統,使用ping server1 確認網絡配置

Lab 6 系統管理工具
目標: 掌握系統管理工具的使用以及對CUPS的管理

步驟一: 使用at和cron
1. 設置一個提示,提醒今天中午12:00去吃午餐. 在root提示符下.使用以下命令:
at noon; (回車)
echo “Time for lunch with Joe.” (回車)
2. 使用atq命令檢查任務隊列,確認
3. 使用at命令在5分鐘后運行 df –k命令
4. 設置今天每10分鐘檢查一次系統狀態用于檢查性能問題.你懷疑時內存或者IO問題,所以要進行相關的監控. 使用root帳戶,并使用crontab –e 命令編輯cron文件
5. 在文件種加入以下行:
*/10 8-17 * * * /usr/bin/free; /usr/bin/iostat
6. 如何把來自cron的輸出到一個郵件地址?
7. 以root身份使用pine,mail或mutt檢查使用受到了來自at和cron任務的郵件
8. 成功后刪除cron任務

步驟二: 日志記錄到一個集中的位置
這個實驗需要和相鄰計算機的配合.
1. 首先設置syslogd接受遠程消息. 編輯/etc/sysconfig/syslog文件:
SYSLOGD_OPTIONS=”-R –M 0”
2. 重啟動syslogd:
service syslog restart
3. 設置syslogd把消息發向遠程機器: 在/etc/syslog.conf文件種增加以下行:
user.* @stationx
4. 重啟動syslogd:
service syslog restart
5. 使用logger命令生成syslog消息,測試設置:
logger –i –t yourname “this is a test”
這條消息是否出現在相鄰機器的/var/log/messages文件中?

步驟三: 使用dump/restore恢復單個文件
1. 準備用dump備份/boot目錄下的文件. 使用df /boot查看/boot所在的設備(以下假設為/dev/hda1)
2. 首先確認備份需要的空間. 查看一個0級備份需要的字節數,使用 -S
# dump -oS /dev/hda1
3. 備份到文件而非磁帶. 確認在/var/tmp目錄是否有足夠的空間,執行
# dump -0u –f /var/tmp/dumpfile /dev/hda1
4. 檢查/etc/dumpdates,查看完全備份的時間戳.
5. 使用restore檢查備份文件的內容
# restore –tf /var/tmp/dumpfile
6. 我們可以使用restore的互動模式恢復特定文件到一個臨時目錄.
# mkdir /tmp/restored; cd /tmp/restored
# restore –if /var/tmp/dumpfile
7. 這時會看到一個restore > 提示符. 鍵入help查看可用命令的列表. 使用ls和cd命令查看備份文件的列表.
8. 使用add,選中/grub.menu.1st和/grub/grub.conf文件.列出所在目錄,恢復的文件應該帶有星號.
9. 鍵入extract命令恢復選中的文件.設置下個卷名為1, 不為解壓目錄設置所有者模式. quit退出restore模式.
10. 在restore運行的目錄中應該有一個grub目錄,包含恢復的grub.conf和menu.1st文件.

步驟四: 設置打印機,使用CUPS管理打印機.
1. 使用root帳戶運行redhat-config-printer
2. 選擇新建,回車
3. 在隊列名稱位置輸入lp0
4. 選擇隊列類型為本地打印設備
5. 選擇下一步,回車
6. 選擇/dev/lp0,選擇下一步
7. 選擇postscript printer, 選擇下一步
8. 當出現創建新隊列:名稱和類型畫面時,選擇結束,回車
9. 選擇退出,回車.將詢問是否保存.選擇是.
10. 鍵入命令: cd 并鍵入 lpr < install.log
11. 鍵入命令: lpq (將會看到一個由root激活的打印任務,任務號為1)
12. 鍵入命令: lprm 1 刪除任務
13. 鍵入命令: lpq (將會看到任務已經刪除)

Lab 7 RPM和Kickstart
步驟一: kickstart安裝
安裝前閱讀排故的建議
1. 編輯 /root/anaconda-ks.cfg文件,在開頭插入以下行
nfs --server server1.example.com --dir /var/ftp/pub
使用以下分區方案:
clearpart --all
part / --fstype ext3 –size=256
part /boot –fstype ext3 --size=100
part /tmp –fstype ext3 --size=128
part /usr –fstype ext3 --size=2800
part /var –fstype ext3 --size=400
part /home –fstype ext3 --size=128
part swap –size=512
在%post部分增加以下內容作為一行
perl –pi –e ‘s, Welcome to %n, My kickstart system %n,’ /etc/X11/gdm/gdm.conf
2. 保存anaconda-ks.cfg文件為ks.cfg.復制到軟盤
3. 用光盤或其他啟動介質重啟動系統, 把kickstart軟盤放在軟驅中
4. 當出現boot提示符時 輸入linux ks=floppy 如果軟盤有錯系統會提示修正.
使用這個系統進行后面的實驗.

排故建議:
如果安裝過程中提示配置語言或者鍵盤,是因為ks.cfg中缺少對應的行.
如果出現Disk Druid, 說明分區配置不對.確定有足夠的硬盤空間,并且分區配置包括swap分區.
Phython編譯器在出錯時會大量溢出信息.使用和仔細檢查,即使對Phython不熟悉也會找到出錯原因.
在%post部分之外的錯誤往往會在覆蓋現有系統之前出現.可以重啟動系統并修改ks.cfg文件.啟動時用linux 1進入單用戶模式可以加快啟動速度.

步驟二 安裝
Lab10 系統恢復和排故
目標:掌握排故過程中的技巧
1. 使用RPM查詢以下請求:
initscripts包中有那些文件?
Bash包由哪一臺主機創建?
pam包在安裝后是否更改過?
哪個包名稱中包含gnome?
哪個包生成了/etc/inittab文件?
哪個包生成了/etc/fstab文件?為什么?
你的內核的版本更新記錄的最后一條記錄是什么?
以下命令有什么差異?
rpm –ivh
rpm –Uvh
rpm –F
2. 練習檢查光盤或server1上的RPM包的簽名和完整性
使用 rpm –import 把Red Hat 的GPG導入系統
gpg --import /usr/share/rhn/RPM-GPG-KEY
rpm --import /usr/share/rhn/RPM-GPG-KEY
下面的命令將把包中的私鑰和安裝的公鑰比較,確定包在創建后是否改變過
rpm -K
3. 驗證.
從ftp://server1.example.com/pub 安裝可用的更新.注意,如果要復制到本地安裝則要有足夠的空間,在對內核進行更新時要使用安裝而非更新命令.
刪除Red Hat的公鑰(使用 man gpg查看方法), 用Red Hat,Inc(security@redhat.com)創建假公鑰, 然后使用rpm -K查看當密鑰不一致時的情況.

步驟三: 自動解析依存性
開始前, 確認以下包沒有安裝:
rpmdb-redhat
xsane
sane-backends
可用的文件包在加載NFS共享server1.example.com:/var/ftp/pub后找到,位于RedHat/RPMS
1. 觀察沒有自動解析的情況: 從共享位置安裝xsane包.會出現類似提示:
error: Failed denpendencies:
libsane.so.1 is needed by xsane-0.89-3
不要試圖完成安裝.
2. 使用rpmdb-redhat. 安裝rpmdb-redhat包,再次試圖安裝xsane包.這次仍然會失敗,但是會給出有用的信息:
Suggested resolutions:
sane-backends-1.0.9-5.i386.rpm
3. aid. 在RPMS目錄下使用rpm –ivh --aid xsane-0.*.rpm
sane-backends將被自動加載以滿足依存性
注意,因為安裝包和依存的包在同一目錄,所以不需要指明rpm安裝的方法

步驟四: GRUB
1. 重啟動進入GRUB界面.如果在grub.conf文件中設置了timeout選項,可以看到畫面下方的倒數.
2. 在倒數結束之前,按方向鍵停止計數
3. 注意顯示下方的提示.使用上下鍵選擇啟動的內核,按e選擇編輯grub.conf的內容.
4. 根據下方的提示,使用上下鍵選擇有kernel字樣的行并按e編輯
5. 現在進入了GRUB編輯模式.輸入空格,s 然后回車.可以看到返回了前一畫面,kernel行多出了文本s.如果不想保存更改,可以按ESC返回前一畫面
6. 按b使用更改選項啟動.在上例中將進入單用戶模式(single user)
7. 重啟后檢查grub.conf文件.你將發現所作的更改沒有保存在文件中
8. 重復以上步驟, 試驗其他runlevel

Lab 8 邏輯卷和陣列
目標: 在安裝后創建邏輯卷和陣列的技巧
步驟一: 使用LVM創建邏輯卷
1. 使用fdisk在未分區空間創建四個新分區,類型為Linux LVM (0x8e), 尺寸一樣,為了加快速度,不要大于1G. 退出時使用w保存更改.不要重啟動.
2. 編輯/etc/modules.conf中包含以下行:
alias block-major-58 lvm-mod
alias char-majot-109 lvm-mod
使用當前內核創建initrd
mkinintrd –f –v /boot/initrd-$(uname –r).img $(uname –r)
這個命令將使系統在啟動時加載lvm-mod模塊,啟用LVM
3. 重啟動系統
4. 用root登錄, 運行vgscan初始化LVM配置文件
5. 使用pvcreate將LVM分區初始化為物理卷.假設分區為
/dev/hda9
/dev/hda10
/dev/hda11
/dev/hda12
命令為: pvcreate /dev/hda9 /dev/hda10 /dev/hda11 /dev/hda12
可以使用pddisplay查看分區信息
6. 然后創建卷組test0. 使用默認4MB的擴展尺寸,只包含一個物理卷
vgcreate test0 /dev/hda9
可以使用pddisplay查看信息

7. 創建一個小邏輯卷,不要占用所有空間. 使用vgdisplay的VG size和 PE/size信息,比如創建一個40M的邏輯卷:
lvcreate –L 40M –n data test0
可以使用 lvdisplay /dev/test0/data 確認命令執行了.
8. 在邏輯卷上創建ext3文件系統: mke2fs –j /dev/test0/data
9. 創建/data目錄. mount /dev/test0/data /data
10. 復制文件到/data. 可以創建一個大文件: dd if=/dev/zero of=/data/bigfile bs=1024 count=20000
使用df檢查/data的磁盤使用情況和剩余空間. 確認能夠正常使用.可以編輯/etc/fstab來自動加載/data.重啟動測試

步驟二: 使用邏輯卷
1. 首先, 卸載/data. 使用e2fsadm擴展分區尺寸: e2fsadm –L+50M /dev/test0/data
2. 重加載/dev/test0/data到/data, 確認文件. 運行df檢查/data的磁盤使用情況和剩余空間.
3. 使用剩余擴展創建第二個邏輯分區. 運行vgdisplay查看PE /size,格式類似于166/644MB,這表示卷組包含166個擴展,664MB剩余空間. 創建一個占用166個擴展邏輯卷/dev/test0/scratch, 命令為:
lvcreate –l 166 –n scratch test0
4. 格式化新卷: mke2fs –j /dev/test0/scratch
5. 把未使用的物理卷加入卷組 vgextend test0 /dev/hda10
6. 如果再次運行vgdisplay, 可以看到增加的擴展.用20MB的擴展定義新邏輯卷.
e2fsadm –L+20M /dev/test0/scratch
使用lvdisplay和vgdisplay確認成功
7. 接下來用/data的只讀快照創建新的邏輯卷. 首先用只讀選項加載/data
mount –o remount,ro /data
8. 快照不需要和父卷尺寸一致,我們假設不需要保存太多數據,可以設置為5M
lvcreate –s –L 5M –n snap /dev/test0/data
9. 現在重加載/data為讀寫狀態
mount –o remount,rw /data
10. 創建新加載點/snap, 使用 mount /dev/test0/snap /snap 比較/data和/snap,兩者內容應該一致
11. 運行命令 for I in$(seq 1 10); do echo > /data/; done 將在/data下創建十個文件,名稱從1到10. 這個命令不影響/snap, 可以用lvdisplay /dev/test0/snap檢查
12. 當快照邏輯卷不能容納改變的塊時,將被LVM自動刪除,即使當前在加載狀態.(避免這一情況的方法是尺寸和父卷一致,或者及時用lvextend擴展尺寸)可以通過以下方式看到這一現象:
rm /data/bigfile
for i in $(seq 1 10000); do echo > /data/; done
13. 在/var/log/messages里可以看到類似信息:
Mar 19 16:30:02 station12 kernel: lvm --giving up to snapshot
/dev/test0/data on /dev/test0/snap: out of space
運行ls /snap. 快照已經不可用了,目錄是空的.運行 lvdisplay /dev/test0/snap,和11步的結果比較.
14. 做完快照之后,如果數據已經備份,或者快照已被刪除,都需要被卸載,否則會造成輕微的性能下降, 使用 umount /snap; lvremove /dev/test0/snap

在進行陣列試驗以前清除LVM卷:
刪除所有/etc/fstab中增加的記錄
umount /dev/test0/data; umount /dev/test0/scratch
lvremove /dev/test0/data; lvremove /dev/test0/scratch
vgchange –an test0; vgremove test0

步驟三: 軟件陣列
1. 在實驗中我們將在同一磁盤創建多個分區來實現陣列,但是在實際工作中我們一般使用在不同磁盤上的分區來創建.使用fdisk將Linux LVM(0x8e)分區轉換為Linux raid auto(0xfd)分區.保存更改.
2. 重啟動系統.
3. 創建/etc/raidtab文件定義四個RAID-5陣列設備.根據以下示例,用實際的分區替換.chunk-size是一個重要的參數,決定了一次向 陣列中每個磁盤寫入數據的量.RAID-5需要一個校驗算法行,一般設為left-symmetric來提高磁盤性能
raiddev /dev/md0
raid-level 5
nr-raid-disks 4
chunk-size 32
persistent-superblock 1
parity-algorithm left-symmetric
device /dev/hda9
raid-disk 0
device /dev/hda10
raid-disk 1
device /dev/hda11
raid-disk 2
device /dev/hda12
raid-disk 3

4. 初始化陣列: mkraid /dev/md0. 如果陣列沒有啟動,手動啟動 raidstart /dev/md0. 此時陣列會立即開始建立,但是已經可用了.可以在另一個虛擬控制臺用 watch cat /pro/mdstat 監控建立過程.
5. 使用4k的塊的ext3文件系統格式化. Stride選項應設為chunk size和陣列磁盤數的乘積, 可以加快格式化的速度
mke2fs –j –b 4096 –R stride=32 /dev/md0
6. 查看是否能 mount /dev/md0 /data. 即使仍在建立過程也可以加載. 使用df命令查看文件系統尺寸. 如果是四個同尺寸的分區組成的陣列,文件系統尺寸應該為三個分區之和.(其他空間用于儲存校驗信息)
7. 使用lsraid顯示陣列設備的相關信息. Lsraid –A –a /dev/md0
8. 試著在/data創建文件. 可以在/etc/fstab中加入記錄用來自動加載.
9. 檢查/proc/mdstat, 確認陣列已經建立. 可以看到類似輸出:
md0: active raid5 hda123 hda112 hda101 hda90
2328064 blocks level 5, 32k chunk, algorithm 24/4 UUUU
10. 測試卷的破壞.用以下命令模擬: raidsetfaulty /dev/md0 /dev/hda11
在/var/log/messages中尋找出錯信息, 注意/proc/mdstat文件的改變
md0: active raid5 hda123 hda112 hda101 hda90
2328064 blocks level 5, 32k chunk, algorithm 24/3 UUUU
重啟動系統, 查看啟動時dmesg和/var/log/messages的出錯信息
11. 模擬在重啟前更換了損壞的磁盤. 使用命令替換陣列分區:
raidhotadd /dev/md0 /dev/hda11
12. 這時將看到/proc/mdstat顯示陣列的重建

進階實驗:在軟件陣列上創建LVM
以下實驗可選,需要創建一個在兩個磁盤上的物理卷建立的RAID1鏡像卷基礎上的RAID10. 使用同一磁盤的兩個分區模擬這一情況.
1. 撤銷前面的軟件陣列設置: umount /dev/md0, 刪除/et/fstab中的對應行.運行 raidstop /dev/md0. 從/etc/raidtab中刪除/dev/md0設備.
2. 編輯/etc/raidtab創建兩個RAID1鏡像/dev/md0和/dev/md1, 分別由兩個分區組成.示例如下:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/hda9
raid-disk 0
device /dev/hda10
raid-disk 1
3. 注意: 運行命令時可能需要-f和-R重運行.因為系統會檢測到上次創建的相關superblock.
4. 格式化并啟動陣列設備: mkraid /dev/md0; mkraid /dev/md1
5. 設置陣列設備為物理卷: pvcreate /dev/md0 /dev/md1
6. 創建卷組: vgcreate test0 /dev/md0 /dev/md1
7. 使用vgdisplay查看有多少擴展可用
8. 設置條帶的邏輯卷. 使用-i 指定構成條帶邏輯卷的卷組中物理卷的數目. –I 設置條帶的尺寸. 當使用-i時作用等同于RAID0陣列的chunk-size.使用 –l指定vgdisplay報告的卷組中邏輯卷可用的擴展.假設有500可用.示例為:
lvcreate –i 2 –I 64 –l 500 –n data test0
9. 使用ext3格式化/dev/test0/data ,作為條帶的RAID陣列設置stride選項,
mke2fs –j –b 4096 –R stride=8 /dev/test0/data
10. 在/data加載/dev/md0/data. 把文件復制到/data,使用e2fsadm重設置尺寸.使用raidsetfaulty模擬磁盤損壞.(條帶的邏輯卷在創建后可以重定義尺寸,只要不在 另一個物理卷上使用這些擴展.)這樣將得到RAID的冗余,條帶的性能和LVM的靈活性.

Lab 9 X window系統
步驟一: 了解X的啟動順序
1. 創建并編輯/etc/X11/xinit/xinitrc.d/xeyes,加入以下行并設為可執行
#!/bin/sh
xeyes &
2. 切換到runlevel5
3. 使用顯示管理器登錄系統 gdm,kdm,xdm等.發生了什么?切換到虛擬控制臺,運行
startx --:1
發生了什么? 為什么需要指定 -- :1?
4. 在創建的用戶主目錄下創建并編輯.xsession文件,增加以下行并設為可執行:
#!/bin/sh
xterm &
exec metacity
5. 使用這個帳戶登錄,發生什么? 使用這個帳戶在虛擬控制臺登錄,并運行startx,發生了什么?

其他問題:
1. 列出升級視頻卡的過程,包括選擇卡的過程.
2. 描述當視頻卡配置錯誤時,如何修復一個啟動到runlevel5的系統.


Lab 10 系統修復和排故
目標: 熟悉系統修復的技巧

步驟一: 在rescue模式修復MBR
rescue模式提供了修復一個不能正常啟動的系統的最后手段. 即使啟動加載器或者根文件系統配置錯誤或損壞.進入該模式需要RedHat Linux的第一張光盤或者是網絡路徑的boot.iso鏡像
任務.破壞GRUB使之不能啟動.使用rescue模式重安裝GRUB.
1. 使用以下命令,將MBR中的GRUB的第一部分用0覆蓋.小心設置塊尺寸.如果寫入太多0,會覆蓋分區表,造成的問題會大的多.(以下命令假設使用IDE設備)
dd if=/dev/zero of=/dev/had bs=446 count=1; reboot
恭喜---你的啟動扇區已經破壞.不過你的主分區表還可用.重啟確定系統不能啟動.使用以下步驟修復系統.
2. 從光盤/軟盤啟動進入rescue模式. 當啟動時輸入 linux rescue
3. 修復環境將詢問是否加載硬盤文件系統.選擇繼續.用讀寫模式加載.檢查mount的輸出保證文件系統加載正確.可以使用fdisk檢查分區
mount
fdisk –l /dev/hda
4. 注意硬盤加載在/mnt/sysimage. 檢查grub.conf文件確認配置正確.
cat /mnt/sysimage/boot/grub/grub.conf
5. 安裝GRUB需要切換上下文,使/mnt/sysimage成為grub-install認為的系統的根.加載chroot shell, 運行grub-install, 退出.
Chroot /mnt/sysimage
grub-install /dev/had
exit
6. 輸入exit退出rescue模式. 注意這會卸載加載的分區.

步驟二: 在rescue模式安裝軟件.
使用以下命令覆蓋mount命令:
cp /bin/date /bin/mount
恭喜---你已經破壞了一個重要的執行文件. 重啟動后你會發現系統不能啟動.使用rescue模式,安裝合適的rpm包.
1. 使用啟動介質啟動系統到rescue模式.
2. 系統會提示加載硬盤文件系統.使用mount檢查是否正確加載.
3. 注意硬盤的文件系統加載在/mnt/sysimage. 查看哪個rpm包包含這個命令
rpm –qf --root /mnt/sysimage/bin/mount
4. 確認mount的rpm包,使用chroot安裝rpm
chroot /mnt/sysimage
rpm –V mount
exit
5. rpm會報告/bin/mount被修改了.從網絡重新安裝mount包,要使用chroot
rpm –ivh --force --root /mnt/sysimage /mnt/source/RedHat/RPMS/mount*
6. 輸入exit退出rescue模式. 注意這會卸載加載的分區.

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97