Linux實踐工程師學習筆記
Linux實踐工程師學習筆記一:用戶環境
用戶環境
#locale 顯示系統語言環境 語言環境參數保存在/etc/sysconfig/i18n文件里
LANG最主要
#locale –a 查看系統對語言的支持情況
#LANG=zh_CN.GB2312 使系統支持以中文形式顯示
kudzu 用來檢測硬體
services kudzu start 重新檢測硬體,讓系統自動識別新硬體
硬體信息保存在/etc/sysconfig/hwconf文件
由kudzu產生
修改系統服務啟動腳本
chkconfig kudzu –list 檢查某個服務狀態(包括各個級別0~6的狀態)
setup 配置系統服務,一個綜合配置工具
chkconfig –list | more 檢查系統所有服務的狀態
所有服務通過init啟動
有些是通過xinetd服務啟動的,如rsync
啟動rsync
chkconfig rsync on
當執行service xinetd restart時,其實是執行/etc/init.d/xinetd這個腳本
而這個腳本會去檢查自己的配置目錄/etc/xinetd.d
/etc/rc0.d~/etc/rc6.d 裡面的文件連接到../init.d/具體的服務,如/etc/init.d/kudzu
S開頭為啟動,K為不啟動
/etc/rc0.d~/etc/rc6.d ---àrc.d/rc0.d~rc6.d
設置系統服務ntsysv命令(同setup)
如何關閉selinux
/usr/sbin/setenforce 0 關閉
/usr/sbin/setenforce 1 開啟
或在/etc/selinux/config中改
SELINUXTYPE=permissive 關閉,disabled也可以
Linux下使用U盤
#ls /dev 確認設備已識別
#mount -o iocharset=gb2312 /dev/sda1
more后ctrl+F向下翻頁(或空格)ctrl+b(上滾)
ls -a 顯示隱藏文件(以.開頭的文件)
文件許可權rws s表示執行這個程序的使用者,臨時擁有和所有者一樣的權力身份來執行該程序
cp -r 源 目的 -r參數表示連子目錄一起拷貝
rm -i 確認刪除
-r 刪除子目錄
-f 強制刪除
du 磁碟或目錄使用了多少空間
df 磁碟或目錄剩餘可用空間
cat >file1 等價你輸入文字,輸完后ctrl+C或ctrl+D結束
>>符號表示在文件尾附加,>符號表示創建新文件
less 可上下滾動文件內容
which 在$PATH設置的目錄查找文件
[ 本帖最後由 junger 於 2008-2-27 09:29 編輯 ]
《解決方案》
more后ctrl+F向下翻頁(或空格)ctrl+b(上滾)
這種是編輯器是emacs的情況哈。記住emacs的命令就好了。
《解決方案》
為了大家瀏覽方便我看還是連載比較好!
希望大家提出寶貴意見!!!
《解決方案》
Linux實踐工程師學習筆記二:系統管理常用命令
1. useradd redhat
2. passwd redhat
3. su –
4. exit
5. df –h 分區情況
6. du –sh /* 統計文件或目錄使用空間的大小
7. fdisk –l /dev/sda
8. netconfig 配置網路參數
9. ifconfig 顯示網路配置信息
10. service network restart
11. route –n 查看路由信息(默認路由)
12. ping –b 192.168.0.255 掃描整個網段(檢查活動主機)
13. ifconfig eth0 10.0.0.254 netmask 255.255.255.0 修改IP地址
14. ifconfig eth0顯示指定網卡參數
15. 修改IP信息後會刪除默認路由,需手工添加
route add default gw 192.168.0.1
16. ifconfig route 修改過的參數不會保存,重啟後會消失
要用service network restart命令把參數保存到文件ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
可以vi直接修改該文件,然後service network restart 重新啟用網路服務
17. redhat-config-network-tui是redhat獨有的配置工具,當用這個命令配置網路參數后,會寫入到/etc/sysconfig/networking/profiles/目錄里,並且比network-scripts/ifcfg-eth0優先,所以用過這個工具配置就不要再使用netconfig,或者先將profiles目錄清空
《解決方案》
Linux實踐工程師學習筆記三:文件系統維護
ext2/ext3通過數據塊儲存文件
格式化文件系統:
mkfs.ext3 –b 4096 –i 8192 –m 5 /dev/sdb4
-b 數據塊大小
-i inode節點表示的位元組數(或數據塊大小)
-m 5 為管理員保留的磁碟管理空間5%
ls –lh /mnt/u
du –sh /mnt/u
df –lh
#tune2fs –l /dev/sdb1 列印文件系統屬性
#df
tune2fs 調整ext2/ext3文件系統特性的工具
-l 查看文件系統信息
-m 保留塊百分比
-c <count> 設置強制自檢的掛載次數
-i <n day> 設置強制自檢的間隔時間
-j ext2轉成ext3
tune2fs –c -1 /dev/sdb1 不管掛載多小次都不自檢
tune2fs –c -1 –i 0 /dev/sdb1 讓分區永遠不自檢
#mkfs.ext2 /dev/sdb4 格式化成ext2
#tune2fs –j /dev/sdb4 轉換為ext3
#df –T 查看分區信息
判斷間ext2還是ext3:
tune2fs –l /dev/sdb1 | grep features
看Filesystem features: has_journal
是否有has_journal,有則是ext3文件系統
grep –i 「name」 不區分大小寫
df –T 分區類型
fsck 檢查文件系統數據完整性的工具
用法一、fsck –t ext2 /dev/sdb1
二、fsck.ext3 /dev/sdb1
#more /etc/fstab
如發現掛載選項有1或2,那麼應該進行自檢了
#fsck.ext3 –y /dev/sdb1 自動修復錯誤
《解決方案》
Linux實踐工程師學習筆記四:管理磁碟文件系統
mount 設備名 掛載點
mount /dev/fd0 /mnt/floppy
光碟機(IDE) /dev/cdrom (/dev/hdx)
光碟機(SCSI)/dev/scdN (N=0,1…)
硬碟(IDE) /dev/hdX (X=a,b,c…)
硬碟(SCSI)/dev/sdX (X=a,b,c…)
U盤 /dev/sdX (X=a,b,c…)
彈出光碟#eject
收回#eject –t
因為USB設備內置USB-SCSI轉換介面,所以被認為是SCSI硬碟
#mkdir /mnt/u
#mount /dev/sda1 /mnt/u
默認內核已支持SCSI和USB介面
#modprobe usb-storage 檢查usb-storage模塊是否已載入,否則無法自動識別USB設備
#mount –t vfat /dev/hda2 /mnt/c
#mount –t ntfs /dev/hda3 /mnt/d 需重新編譯內核才能支持NTFS
#mount –t iso9660 /dev/cdrom /mnt/cdrom
#mount –t vfat –o iocharset=gb2312 /dev/sdb1 /mnt/u
常用字元編碼有gb2312和utf8
#mount /dev/sdb2 /mmt/d –o iocharset=utf8,ro,uid=redhat,umask=0077
Linux下使用U盤
#ls /dev 確認設備已識別
#mount -o iocharset=gb2312 /dev/sda1
more后ctrl+F向下翻頁(或空格)ctrl+b(上滾)
ls -a 顯示隱藏文件(以.開頭的文件)
文件許可權rws s表示執行這個程序的使用者,臨時擁有和所有者一樣的權力身份來執行該程序
cp -r 源 目的 -r參數表示連子目錄一起拷貝
rm -i 確認刪除
-r 刪除子目錄
-f 強制刪除
du 磁碟或目錄使用了多少空間
df 磁碟或目錄剩餘可用空間
cat >file1 等價你輸入文字,輸完后ctrl+C或ctrl+D結束
>>符號表示在文件尾附加,>符號表示創建新文件
less 可上下滾動文件內容
which 在$PATH設置的目錄查找文件
《解決方案》
Linux實踐工程師學習筆記五:使用磁碟配額
默認系統內核已支持quota
mount –o usrquota,grpquota /dev/sdb1 /mnt/d1 或
mount –o remount,usrquota,grpquota /
也可以修改 /etc/fstab文件來啟用每個文件系統的配額 ---- 添加選項usrquota,grpquota
例:
將LABEL=/home /home ext3 defaults 1 2
改為
LABEL=/home /home ext3 defaults,usrquota 1 2
#init 1 (進入單用戶環境)
#quotacheck –cvuga 或 quotacheck –cvag /dev/sdb1 (a代表all)(g代表用戶組)
#quotaon –a 激活
#edquota –u redhat 進VI編緝用戶配額
編緝用戶可用的位元組數,軟性的,硬性的,文件數,軟體性的,硬性的
quota –u redhat 查看用戶磁碟配額
edquota –t 配置過期時間
edquota命令能為一系列用戶設置同一配額。假設已為用戶ez設立了配額,以下命令將為隨後的用戶(即mj、jm和tp)複製完全相同的配額限制:
$ sudo /usr/sbin/edquota -up ez mj jm tp
quotaoff /mnt/sdb1 關閉磁碟配額
quotaon /mnt/sdb1 開啟
repquota命令按用戶(-u)或組(-g)報告配額使用情況。用repquota -a命令可以得到所有文件系統的報告。
如果想檢查單個用戶(-u)或組(-g),可以使用quota命令。單個用戶可以用此命令檢查他們自己的配額使用情況。
關於putty 0.58的簡單設置
1. 修改語言環境 LANG=zh_CN.utf8
2. 修改傳輸數據的字符集translationàUTF8
3. 修改外觀appearance字體font為新宋體
ls –ld 顯示文件屬主,詳細信息
《解決方案》
Linux實踐工程師學習筆記六:Samba
samba軟體包使用
Fedora core/Redhat Linux提供的軟體包
samba samba伺服器軟體包
samba-client samba客戶端工具
samba-common 通用工具和庫
安裝rpmdb-fedora/rpmdb-redhat軟體包(一般在第三張光碟)
但在FC5已找不到這個軟體包
安裝了rpmdb可以解決依賴性問題
#rpm –ivh rpmdb-fedora*.rpm
#rpm –ivh --aid samba*.rpm 裝了rpmdb才有效
1.#rpm –ivh cups-libs*.rpm 第一張光碟
2.#rpm –ivh samba*.rpm 第一張光碟(client,common)
3.#rpm –ivh samba*.rpm 第二張光碟
#rpm –qa |grep samba 查看所有軟體包列表
#rpm –ql samba | more 查訊某個軟體列表
samba客戶端工具
smbtree
作用:顯示區域網中的所有共享主機和目錄列表(默認使用當前用戶登錄)
用法:smbtree [-b] [-D] [-U username%password]
-D 表示只顯示工作組名,不顯示主機
-b 使用廣播查詢列表,不用WINS伺服器
-D和-U 不能共用,因為不可能用同一個用戶登錄域上所有主機
nmblookup
作用:顯示一台主機的nethios主機名
nmblookup my-server 查詢伺服器的IP
nmblookup \* 查詢所有活動的主機的IP
smbclient
作用:顯示/登錄區域網中的共享文件夾
用法:smbclient –L host
smbclient //host/share
smbclient –L 192.168.0.22 –U redhat%redhat 以redhat用戶登錄並顯示共享目錄
smbclient //192.168.0.22/linux –U redhat%redhat
登入目錄,查看目錄內容,通過put,get上下載文件
smbtar(先要修改/usr/bin/smbtar命令,把最後一行的參數-N匿名登陸刪掉)
遠程備份網上鄰居中的文件
smbtar –s win2000 –u redhat –p redhat –x chinalab –t itlab.tar
將共享目錄掛載到本地目錄,然後再訪問
mount.cifs //192.168.0.22/linux /mnt –o username=redhat%redhat
tar tvf lab.tar 顯示備份包里的文件
samba伺服器配置
1.修改配置文件/etc/samba/smb.conf
workgroup = WORKGROUP
security = share
path = /usr/share/doc
comment = share documents #說明共享目錄
public = yes
2.重啟smb伺服器
#service smb restart
#chkconfig smb on 讓smb每次自動啟動
3.測試
#smbclient –L localhost
chkconfig smb –list 查看服務的啟動狀態
SMB 提供名稱解釋服務
NMB 提供數據傳輸服務
兩個總是一起工作的
samba文件伺服器
(WINS)在網上鄰居看不到主機列表,可以在地址欄直接輸入IP如\\192.168.0.1查看共享目錄
網上鄰居看到的主機列表,主要有三個來源,一是配置文件lmhosts,主機名與IP的對應關係
二是通過瀏覽伺服器 三是通過廣播方式獲取主機列表
linux訪問網上鄰居
1.掛載方法
#mount –t smbfs //192.168.0.1/linux /mnt
或 #mount.cifs //192.168.0.1/linux /mnt
2.#smbclient //192.168.0.1/linux –U redhat%123
訪問控制
public = yes 允許所有人訪問
= no 不允許匿名訪問
1.共享目錄設置有效用戶
path = /var/redhat
comment = redhat』s files
valid users = <username> <@groupname>
2.創建samba用戶
#useradd username 新建一個系統用戶
#smbpasswd –a username 將用戶加入到samba中
3.用戶賬號映射
username map = /etc/samba/smbusers
4.修改上面指定的smbusers文件,添加虛擬用戶名
redhat = tom jack
也可以直接用以下命令:
#smbuseradd unixname:mapname
5.需重啟smb服務讀取映射文件
HOME目錄(用於用戶訪問用戶自己的主目錄)
comment = Home Directories
validusers = %S %S目錄屬主
browseable = no 默認不允許瀏覽home目錄
writable = yes 允許寫
valid users = 有效用戶列表
write list = 可寫用戶列表
create mask = 0660 定義創建文件的默認許可權
directory mask = 0770 定義創建目錄的默認許可權
chown redhat /var/redhat 改變目錄屬主
ls –lh 顯示目錄里各個文件的詳細信息
ls –ld /usr/redhat 只顯示目錄本身的詳細信息
#testparm 測試配置默認文件smb.conf的正確性
#testparm /etc/samba/smb.conf my-server 192.168.0.1
測試客戶機能訪問伺服器的哪些目錄
path = /var/redhat
comment = redhat』s files
public = no
valid users = <username> <@groupname>
write list = <username> <@groupname>
create mask = 0660
directory mask = 0770
注意:客戶端所有請求訪問身份在伺服器端都會映射成登錄賬號的身份
samba配置文件
/etc/samba/smb.conf
workgroup = WORKGROUP 組或域名
server string = samba server 伺服器描述
netbios name = redhat 指定samba伺服器名
security = share/user/server share不需驗證用戶,user要驗證
;password server = <server>
需與security=server配合使用
log file = /var/log/samba/log.%m %m指客戶機的netbios名,日誌按客戶機名分類
encrypt passwords = yes
加密密碼,windows客戶機一般使用加密密碼,所以為yes.如果不加密直接用明文密碼,可改為no,但windows客戶機需修改註冊表指定不加密
smb passwd file = /etc/samba/smbpasswd
上面兩句要一起使用!
include = /etc/samba/smb.conf.%m 包含外部配置文件,如根據不同的客戶機名稱,定義不同的共享資源
;interfaces = 192.168.0.0/24 samba應用在哪個介面上,默認是在所有網卡,所有介面上
;name resolve order = wins lmhosts bcaast 名稱解釋順序
;wins support = yes 自己作為WINS伺服器,並提供給客戶機查詢
;wins server = w.x..y.z 與WINS配合使用,作為WINS伺服器,請求會發送到w.x.y.z
/etc/samba/lmhosts文件(保存客戶機IP與名稱的對應關係)
左邊IP 右邊名稱
127.0.0.1 localhost
wins support,wins server 不能同時使用
wins server 說明本身作為客戶機,而指定一台wins伺服器的IP
samba的安全級別
security = <level>
1.share
windows用戶不需要認證就能訪問共享列表
2.user
windows客戶機需輸入用戶才能訪問共享名列表,伺服器上需建立用戶賬號
3.server
客戶端需輸入合法用戶幫能訪問,但認證過程在另一伺服器進行,用戶賬號保存在認證的那台伺服器上。
share,user只對windows客戶機有效,linux客戶機在user級別不用密碼也能訪問共享名列表。security只保護主機的共享名列表,具體到目錄的訪問則由目錄的規則決定。
#hostname 查看主機名
#nmblookup my-server 查詢主機IP(與samba netbios name有關)
#man smb.conf 查看相關幫助
vi搜索技巧:
/%m 先輸入」/」再輸入要查找的字元串
/redhat 如查找」redhat」字元串
shift+G 跳到文件尾
默認伺服器名與機器DNS的第一部分相同
如Fedora.cyrich.com則這台samba伺服器的名稱就是Fedora
訪問控制
一、全局控制
hosts deny = ALL
hosts allow = 192.168.0.
二、局部訪問控制
hosts deny = 192.168.0.
hosts allow = 192.168.0.1
hosts allow = 192.168.0.
host deny = 192.168.0.1 (失效)
允許優先!!
hosts 後面的格式語法,可以通過man 5 host.access查看幫助
1.點開頭 .edu.cn
2.點結尾 192.168.0.
3.192.168.0.0/255.255.255.0
192.168.0.0/24
4.ALL LOCAL UNKNOWN DNS不能解析的
5./開頭 指定一個文件
6.hosts allow = 192.168.0.0 EXCEPT 192.168.0.1
允許192.168.0網段主機訪問,但192.168.0.1除外
技巧:
#tail /etc/samba/smb.conf
顯示文件最後的十行
應用案例
要求:
1.所有員工都能夠在公司內流動辦公,但不管在哪台電腦上工作,都要把自己的文件數據保存在samba文件伺服器上。
2.市場部,技術部都各有自己的目錄,同一個部門的人共同擁有一個共享目錄,其他部門的人都只能訪問在伺服器上自己個人的home目錄
3.所有用戶都不允許使用伺服器上的shell
分析:
1.需要samba作為文件伺服器,為所有用戶創建賬號和目錄,用戶默認都 在伺服器上有一個home目錄,只有認證通過才能看到。
2.需為市場部和技術部創建不同的組sales和tech,並且分配目錄,把所有市場部員工加入sales組,技術部員工加入tech組,通過samba共享sales和tect
3.建立用戶賬號時,不分配shell
案例實施:
1.為所有用戶創建賬號和目錄,不分配shell,假設市場部有tom,jack,技術部有red,blue,總經理ceo,財務finance
2.建組sales和tech,把所有市場部員工加入sales組,技術部員工加入tect組
3.創建兩個目錄/home/sales和/home/tech,並修改兩個目錄的許可權,分別屬於sales組和tect組
4.通過samba共享/home/sales和/home/tect
5.測試
如有錯誤,檢查
/etc/samba/smbpasswd 確定賬戶
/etc/samba/smbusers 查看映射文件
tail /var/log/samba/redhat.log 查看/var/log/samba/目錄下的日誌
具體操作:
#vi /etc/samba/smb.conf 安全級別為user
#groupadd sales
#groupadd tech
#useradd –g sales –s /bin/false tom
#useradd –g sales –s /bin/false jack
#smbpasswd –a tom
#smbpasswd –a jack
#for user in red blue 批量添加用戶red,blue
>do
> useradd –g tech –s /bin/false $user
> smbpasswd –a $user
> done
#useradd ceo
#useradd finance
#smbpasswd –a ceo
#smbpasswd –a finance
#mkdir /home/sales /home/tech
#chgrp sales /home/sales
#chgrp tech /home/tech
#chmod 770 /home/sales
#chmod 770 /home/tech
#chmod g+s /home/sales 防止許可權發生混亂
#chmod g+s /home/tech
#vi /etc/samba/smb.conf
path = /home/sales
comment = sales
public = no
valid users = @sales
write list = @sales
create mask = 0770 其實效果就是0760,因為samba伺服器會自動把可執行許可權拿掉
directory mask = 0770
path = /home/tech
comment = tech
public = no
valid users = @tech
write list = @tech
create mask = 0770
directory mask = 0770
linux測試
1.smbclient –L 192.168.0.22 –U tom%tom
2.mount.cifs //192.168.0.22/ceo –o username=ceo%ceo
windows客戶機映射網路驅動器,再設定「我的文檔」位置,就可隨時隨地將文件保存在samba伺服器
《解決方案》
Linux實踐工程師學習筆記七:Raid
安全的動態磁碟策略
linux內核可以模擬RAID控制器,用來管理硬碟,但只支持級別0,1,4,5
RAID0 又稱striping
把連續的數據訪問分散到多個磁碟上來提高存儲性能,速度最快,但最危險。
RAID1 又稱Mirror或Mirroring
最大限度的保證用戶數據的可用性和可修復性,用戶數據100%自動複製到另外一個硬碟上,速度稍慢,因為要同時寫多個硬碟。
RAID5 最少需三個硬碟
不對存儲的數據時行備份,而把數據和對應的奇偶校驗信息分別存儲在不同的磁碟上,當一個磁碟數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID0+1 也稱RAID10
結合RAID0和RAID1的優點,很多公司在應用
Linux中的軟體RAID
1.默認內核已支持軟體RAID控制器
2.需安裝raidtools工具來創建管理RAID設備,raidtools包含有RAID創建管理工具和默認的示範性配置文件,安裝完后編輯/etc/raidtab這配置文件,它可以從raidtools中的示範配置文件里(在/usr/share/doc/raid-~/目錄下)複製。最後用以下命令創建RAID設備:
#mkraid /dev/md0
#mkraid -f /dev/md0
#mkraid -R /dev/md0
后兩個命令是強制創建,覆蓋以前建的超級塊。
但Fedora Core5不使用這個,而用mdadm工具。
3.軟體RAID設備文件名:/dev/mdN (N=0,1,2…)
4.軟體RAID設備可以當分區看待,需格式化后掛載
#mkfs.ext3 /dev/md1
#mount /dev/md1 /opt
5.停止RAID設備
#umount /opt
#raidstop /dev/md0
要永久刪除RAID設備,還需刪除raidtab文件,否則重啟后RAID仍起作用。
6.顯示RAID設備信息
#lsraid -A -a /dev/md1
7.RAID1故障模擬
假設sdb1與sdc1兩個磁碟做RAID1,sdb1磁碟壞了,加入新一塊磁碟sdd1。
#raidsetfaulty /dev/md1 /dev/sdb1
#raidhotadd /dev/md1 /dev/sdd1
#more /proc/mdstat 查看磁碟修復過程
#raidhotremove /dev/sdb1
最後還要修改raidtab文件。
使用mdadm來創建和管理RAID
RAID0
添加硬碟
RAID設備的成員是硬碟分區,需先對硬碟分區,分區不能在同一物理硬碟上
#fdisk /dev/sdb
n創建主分區,t分區類型fd,w寫保存
#fdisk /dev/sdc
#mdadm –Cv /dev/md0 –l0 –n2 /dev/sdb1 /dev/sdc1
-C,--create 創建一個新的陣列
-v,verbose 顯示細節
/dev/md0 陣列設備的名稱
-l,--level= 陣列級別,如0,1,4,5,6
-n,--raid-devices= 陣列活動數目
/dev/sd1 陣列包含的設備列表
#more /proc/mdstat 查看陣列狀態
#mkfs.ext3 /dev/md0 創建文件系統
#mount /dev/md0 /mnt/raid
讓系統自動掛載,修改/etc/fstab,添加
/dev/md0 /mnt/raid ext3 defaults 0 0
RAID5 故障模擬
前面已創建了一個RAID5設備md0
#mdadm –Cv /dev/md0 –l5 –n3 –x1 –c128 /dev/sd1
1.將/dev/sdb1標記為已損壞的設備
#mdadm /dev/md0 –f /dev/sdb1
這時陣列開始重構和恢複數據
2.移除損壞的設備
#mdadm /dev/md0 –r /dev/sdb1
3.將新設備添加到陣列
注意,一:對硬碟正確分區,二:添加設備名要與被移除的一致,如sdb1
#mdadm /dev/md0 –a /dev/sdb1
生成配置文件/etc/mdadm.conf
格式如下:
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 ARRAY /dev/md10 level=raid10 num-devices=4 UUID=12334343dkfj
其中UUID信息通過#mdadm –D /dev/md10得到
#mdadm –Ds 掃描該文件信息
常用陣列維護命令
1.啟用陣列
#mdadm –As /dev/md0
-A 啟用已存在的陣列
-s 以/etc/mdadm.conf為依據
沒有創建mdadm.conf文件,則採用如下方法啟用
#mdadm –A /dev/md0 /dev/sd1
2.停止陣列
#mdadm –S /dev/md0
3.顯示陣列詳細信息
#mdadm –D /dev/md0
《解決方案》
Linux實踐工程師學習筆記八:Lvm邏輯卷管理器
PV (physical volume)物理卷
VG (Volume Group)卷組
LV (Logical Volume)邏輯卷
1.fdisk /dev/sdb
分區sdb1,sdb2,sdb3
分區類型8e(Linux LVM)
如果系統在使用sdb,需要重啟,以便系統重新讀取sdb的分區表信息
2.#pvcreate /dev/sdb 初始化物理卷
3.#vgscan 掃描物理卷,創建卷組資料庫,第一次創建lvm必須運行此命令
4.#vgcreate vg0 /dev/sdb1 /dev/sdb2 用sdb1,sdb2創建卷組vg0
#vgdisplay vg0 查看卷組vg0的信息
5.#lvcreate –n data –L 10M vg0 從vg0中創建一個新的名為data,大小10M的邏輯卷
6.#mkfs.ext3 /dev/vg0/data 格式化
7.#mount /dev/vg0/data /mnt
#lvdisplay /dev/vg0/data 查看邏輯卷data的分區情況
#lvcreate –n test –l 5 vg0 創建邏輯卷用-l指定塊數,默認塊大小4MB,即分配邏輯卷20MB大小,這個默認的物理擴展塊的大小可以通過命令vgdispaly vg0查看PE SIZE的值而知道。
創建完邏輯卷一定要mkfs.ext3格式化才能使用
#lvscan 掃描邏輯卷,看它們的活動情況
#umount /mnt
#lvextend –L +20M /dev/vg0/data 擴大邏輯卷20M,要先umount分區,再擴大
#e2fsck –f /dev/vg0/data 強行檢查data邏輯卷
#resize2fs /dev/vg0/data 重新定義分區大小
以上三步要按順序進行,用以下一條命令可以達到上面三條命令相同的效果:
#e2fsadm –L +20M /dev/vg0/data
#pvscan 查看系統目前的物理卷情況
#vgextend vg0 /dev/sdb3 擴大卷組vg0,將分區sdb3加入卷組
#pvmove /dev/sdb1 移除物理卷
#vgreduce vg0 /dev/sdb1 從卷組中刪除sdb1
pvmove將數據移走,但sdb1還在vg0內,還是屬於卷組分區,vgreduce將sdb1從vg0中刪除
創建卷組時,默認的PE大小4MB,允許的LV最大256G
#vgcreate –s 8M vg1 /dev/sdb1
-s 指定PE塊大小
通過改變PE塊大小,從而改變卷組允許支持的邏輯卷最大容量
技巧:
#clear 清屏
#df –lh 顯示系統現在的分區掛載情況
建立快照(備份數據)
#lvcreate –s –L 52M –n snap /dev/vg0/data
-s 表示快照
-L 快照大小要大於或等於被創建的邏輯卷data
-n 快照名稱
快照不用格式化即可使用
刪除邏輯卷步驟
1.umount所有LV
2.lvremove /dev/vg0/data (通過lvscan查看)如有快照,先移除快照再移除邏輯卷。
3.#vgchange -an /dev/vg0 休眠vg以便刪除,vgchange -ay /dev/vg0此命令可以激活vg。
4.#vgremove vg0
使用過程中,如有錯誤,可查看系統日誌
#tail /var/log/message
如果要使根分區使用LVM設備,需先創建好LVM設備,再用lvmcreate-initrd命令在boot分區創建支持lvm功能的虛擬磁碟鏡像文件,最後修改grub.conf載入此鏡像文件即可。