文件系統(File system) :
-
文件系統概要
-
文件系統的分類
-
文件系統的管理工具
mkfs btrfs ext xfs
-
SWAP
-
LVM
文件系統概要:
文件系統是什么?
文件系統是位于內核中功能中,用來區分與明確存儲設備上文件的方法和數據結構。
文件系統有什么功能?
管理和調度文件的存儲空間,提供文件的邏輯結構,存儲方式,實現文件的控制操作。
文件系統的分類:
根據操作系統:
Linux:ext2 ext3 ext4 xfs btrfs reiserfs jfs swap
swap:交換分區
iso9660:光盤
Unix : FFS UFS JFS2
Windows:fat32 ntfs
Network File System : NFS CIFS
集群FS:GFS2 OCFS2
分布式文件系統:ceph moosefs mogilefs Glusterfs lustre
根據日志型文件系統:
日志型文件系統:ext3 ext4 xfs
非日志型文件系統:ext2 vfat
日志型與非日志的對比:
對比非日志型文件系統的兩個分區,元數據區,數據區,日志型文件系統還多了一個日志區,當數據要寫入時,會先將文件的元數據寫入日志區,然后塊數據寫入完成后再將日志區的原文件讀出寫入元數據區,這樣如果在寫入數據時,計算機突然斷電,數據沒有寫完,就不用去遍歷磁盤的所有塊,而只需檢查日志區所記載的元數據的塊就可以檢查與修復,大大縮短了磁盤修復的速度,并增強了安全,但是日志型文件系統每一次寫入都會多一次的IO操作,會對系統性能有微微的影響。
文件系統管理:
mkfs : make file system
1.mkfs.TYPE [option]
-b # : block size
-s # : sector size
-L 'label' : set LABEL
2.mkfs [option] DEVICE
-t : type
btrfs manager tool
create btrfs
mkfs.btrfs [option] <DEVICE>…
-d : 指定數據的格式 raid0 raid1 raid5 raid6 raid10 single
-m ; 指定元數據的格式 raid0 raid1 raid5 raid6 raid10 single dup
-L LABEL : set label
btrfs <command> <command>
btrfs filesystem [command]
df <PATH> :根據mount point查看btrfs空間信息
show [ –mounted | –all-decices ] <path | uuid | device | label> :查看btrfs信息
resize < max | +# | -# > /PATH :重設fs空間大小,如+5G -3M等。max代表最大值。
btrfs device [command]
add [option] <Device> </PATH> :添加一塊磁盤設備進一個btrfs。
-f : fouce
delete <Device>| </PATH> : 刪除一個磁盤設備。
stats <PATH>|<Device>
btrfs balance [command]
start [option] <path> : 啟動fs空間均衡。
-mconvert = <RAID0 | RAID1 | RAID5 | RAID6 | RAID10 | … | single | dup > :修改元數據組織機制。
-dconvert = <RAID0 | RAID1 | RAID5 | RAID6 | RAID10 | … |single> :修改數據組織機制。
pause <path> : 暫停均衡
cancel <path> : 取消均衡
resume <path>: 繼續均衡
status <path>:查看正在均衡的進度
btrfs subvolume [command]
create <name> :創建一個子卷
delete <subvolume path>… : 刪除一個子卷
list [option] <path> :列出子卷信息
show <path> :輸出子卷詳細信息
snapshot <source> <快照PATH> : 創建一個快照
cp –reflink <source> <快照PATH> :對一個文件創建快照
btrfs mount :
mount -o subvol=<volume name> <MOUNT POINT>:根據路徑掛載。
subvolid=<volume id > <MOUNT PONIT> :根據子卷ID掛載。
mount -o compress <lzo|zlib> <DEVICE> <MOUNT PONIT> : 開啟透明壓縮模式,并根據選擇不同的壓縮方式。
btrfs-convert [option] <DEVICE> : 升級至btrfs。
-r :將btrfs轉回原來的格式。
ext 系列FS manager tool
mke2fs [option] DEVICE : 創建ext系列文件系統。
-b {1024|2048|4096}:block size
-L 'label' :set Label
-i # :指定多少個字節創建一個inode
-n # :指定一共有多少個inode
-t {ext2|ext3|ext4}:指定type
-m # :預留管理員多少%磁盤空間
e2label :查看及修改標簽
e2label Device LABEL
tune2fs :修改ext系列屬性
tune2fs [option] Device
-L label:set LABEL
-m:修改預留磁盤百分比
-l : list file system message
-c # : 設置強制自檢的掛載次數,每掛載一次就mount count的次數就加一,達到#的值就會強制自檢.
-i #[d|m|w] : 設置強制自檢的時間間隔。 [day|month|week]
dumpe2fs [option] Device :顯示文件系統屬性信息。
-h :只顯示超級塊中的信息。
e2fsck [option] Device :修復ext系列fs
-a:自動修復
-f :強制檢查
resize2fs [OPTION] [EXT_PATH] [SIZE]:重設EXT文件系統的大小。
-P:將ext的文件系統更新至物理內存磁盤分區中的最大數值并告知內核。
-P:將ext的文件系統更新至物理內存磁盤分區中的最小數值并告知內核。
xfs文件系統管理
mkfs_xfs [OPTION] [DEVICE] :創建xfs格式的文件系統
-b # :block size
-L ‘label’ : set label
-f : fouce
xfs_admin [OPTION] [DEVICE]: 調整xfs相關屬性
-l : 顯示label
-u:顯示UUID
-L:set label
-U:set UUID
xfs_repair [OPTION] [DEVICE] :檢查,修復fs
-f:指定file
-n:only check
-d:在單人模式下,對根目錄進行檢查與修復。
xfs_info [option] DEVICE :顯示xfs文件系統的詳細信息。
xfs_growfs [-D block_size] [XFS_PATH] :擴展XFS文件系統的大小。只能加大。
-D [block_size] :指定大小,單位為塊。
SWAP Manager(交換空間管理) :
SWAP是什么?
是將磁盤中的一部分空間創建成內存的格式,用來存放內存中存儲的數據的一塊區域。
SWAP有什么功能?
SWAP TOOL:
mkswap [-L label_name] [DEVICE] :創建一個swap文件系統
swapon [SWAP_DEVICE] :啟動一個swap。
swapoff [SWAP_DEVICE] :關閉一個swap。
free [-m]:查看swap的情況
SWAP配置實例:
1.創建一個磁盤分區。(btrfs的子卷,LVM邏輯卷可略過disk 分區步驟)
# 同步磁盤信息到內核
2.創建Swap分區
3.啟用Swap,查看當前Swap信息
以M為單位:
4.關閉Swap分區
ps. cache與buffers
buffers(緩沖):為了解決設備間通信傳輸數量不一致時導致大量數據涌入,而導致速度快的設備空間無法處理的問題。
cache(緩存):為了解決速度快的設備與速度慢的設備速度相差而導致的資源浪費的問題,緩存會預先載入數據,等待速度快的設備讀取。
LVM (Logical Volume manager)
LVM概述:
LVM是什么?
Logical Volume manager ,邏輯卷管理,是先將磁盤分區設為物理卷(PV),然后將多組物理卷虛擬成一個卷組(VG),然后就可以操作卷組分割出一個一個獨立的 邏輯卷(LV),在邏輯卷的基礎上創建文件系統,卷組與邏輯卷可以根據實際需求來擴大和縮小,不會受到傳統分區時固定大小的束縛。
圖中,最上層代表實際的disk,第三層代表將實際的disk或分區后創建的物理卷(PV),第二層表示將不同的物理卷可以搭配創建成不同的卷組(VG),第四層表示在卷組上可以創建多個大小不同的邏輯卷(LV)。
LVM的功能是什么?
LVM可以將多個實際上的DISK組合成一個個PV,又可以將每幾個PV組合成一個卷組,在卷組中又可以自由劃分邏輯卷,以非常靈活的方式,彈性管理磁盤空間。
LVM Mnager Tool
查看卷信息:
pvdisplay vgdisplay lvdisplay :顯示卷信息。
pvscan vgscan lvscan:顯示卷的磁盤空間使用情況。
物理卷管理(PV Manager):
pvcreate [OPTION] DEVICE… :創建一個物理卷。
-f : force create
-u:指定 UUID
-y:所有的交互都選擇YES
pvremove [OPTION] DEVICE…:刪除一個物理卷。
-ff :強制刪除
-y:所有的交互都選擇YES
卷組管理(VG Manager):
vgcreate [OPTION] [VG_NAME] [PV_DEVICE PATH]… :創建卷組。
-l:卷組上允許創建最大邏輯卷數。
-p:卷組上允許添加的最大物理卷數。
-s :指定PE大小,默認為4G。
vgremove [OPTION] [VG_NAME] … :刪除卷組。
-f:force remove
vgextend [OPTION] [VG name] [PV_DEVICE_PATH]…:添加PV進已存在卷組。
-f : force。
-y :所有交互都選擇YES。
vgreduce [OPTION] [VG_PATH] [PV_DEVICE_PATH]…:刪除卷組中存在的PV。
-a : 刪除所有PV。
邏輯卷管理(LV Manager):
lvcreate [OPTION] [VG_NAME] : 創建一個邏輯卷。
-n [LV_NAME] :指定邏輯卷的名稱。
-L [LV_SIZE] :指定邏輯卷的大小。
-l [LE_NUMBER] :指定邏輯卷的LE數量,卷大小=LE數量 * PE_SIZE
-s :創建一個 快照卷 (snapshot volume)
-p < R | W >: 指定權限。
lvremove [OPTION] [LV_NAME] :刪除一個邏輯卷。
-f:force
lvextend [OPTION] [LV_PATH]
-L [+] [LV_SIZE] :添加具體的大小。
-l [+] [LE_NUMBER] :添加多少塊LE。
lvreduce [option] [LV_PATH]
-L [-] [LV_SIZE] :減少具體的大小。
-l [-] [LE_NUMBER] :減少多少塊LE。
LVM擴容,縮減實例:
LVM擴容實例:
1.查看LVM信息
lsblk查看樹狀磁盤信息
查看卷組mygroup信息
查看邏輯卷group1的信息
2.創建磁盤分區
創建一個分區,/dev/sdb1,并設置格式為LVM
3.創建物理卷并擴容VG與LV
創建物理卷
為卷組mygroup擴容
查看mygroup卷組信息,可以看見size從5G變成7G
為邏輯卷group1擴容,增加2G
查看LV的信息
執行xfs_growfs 或者 resize2fs 激活,將擴容信息告訴內核。
、
LVM縮減實例:
1.查看狀態
查看LV信息
2.縮減大小
搜減LV大小3G
縮減卷組
縮減卷組,去除物理卷
3.查看縮減結果
查看縮減后的邏輯卷狀態
Ps 強行把博客寫的那么亂。。僅是個人筆記學習備忘。。。
原創文章,作者:Net18_肖肖,如若轉載,請注明出處:http://www.www58058.com/13420
內容充實,邏輯清晰,外加md渲染的效果,很專業。其中的內容也不泛專業,贊!
修改一個錯誤 swap交換分區圖解中 線性地址(虛擬內存)32位為4G,3G為進程使用,1G為內核。