linux學習第四周總結
磁盤儲存和文件系統
- 分區
- 文件系統
- 掛載
- RAID
-
LVM
一、分區
分區的作用:
1.優化I/O性能
2.實現磁盤空間配額限制
3.提高修復速度
4.隔離系統和程序
5.安裝多個OS
6.采用不同文件系統
兩種分區方式:MBR,GPT
MBR:Master Boot Record,1982年,使用32位表示扇區數,分區不超過2T
0磁道0扇區:512bytes
446bytes: boot loader
64bytes:分區表,其中每16bytes標識一個分區
2bytes: 55AA
MBR分區中一塊硬盤最多有4個主分區,也可以3主分區+1擴展(N個邏輯分區)
GPT:支持128個分區,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)
lsblk
創建分區使用:
fdisk 創建MBR分區
gdisk 創建GPT分區
parted 高級分區操作
重新設置內存中的內核分區表版本
partprobe
gdisk /dev/sdb 類fdisk 的GPT分區工具
fdisk -l [-u] [device...] 查看分區
fdisk /dev/sdb 管理分區
子命令:
p 分區列表
t 更改分區類型
n 創建新分區
d 刪除分區
v 校驗分區
u 轉換單位
w 保存並退出
q 不保存並退出
查看內核是否已經識別新的分區
cat /proc/partations二、文件系統
定義:文件系統是操作系統用於明確存儲設備或分區上的文件的方法和數據結構;在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日誌,壓縮,加密等
文件系統類型:
ext2(Extended file system) :適用於那些分區容量不是太大,更新也不頻繁的情況,例如 /boot 分區
ext3:是 ext2 的改進版本,其支持日誌功能,能夠幫助系統從非正常關機導致的異常中恢復。它通常被用作通用的文件系統
ext4:是 ext 文件系統的最新版。提供了很多新的特性,包括納秒級時間戳、創建和使用巨型文件(16TB)、最大1EB的文件系統,以及速度的提升
光盤:iso9660
Windows:FAT32, exFAT,NTFS
Unix: FFS(fast), UFS(unix), JFS2
網絡文件系統:NFS, CIFS
集群文件系統:GFS2, OCFS2(oracle)
分布式文件系統: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:未經處理或者未經格式化產生的文件系統
創建文件系統
mkfs命令:
(1) mkfs.FS_TYPE /dev/DEVICE
ext4
xfs
btrfs
vfat
(2) mkfs -t FS_TYPE /dev/DEVICE
-L ‘LABEL‘ 設定卷標
文件系統檢測和修復
常發生於死機或者非正常關機之後
掛載為文件系統標記為“no clean”
註意:一定不要在掛載狀態下修復
fsck: File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
-p 自動修復錯誤
-r 交互式修復錯誤
FS_TYPE 一定要與分區上已經文件類型相同
e2fsck:ext系列文件專用的檢測修復工具
-y 自動回答為yes
-f 強制修復三、掛載mount
定義:掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為
卸載:為解除此關聯關系的過程
掛載點下原有文件在掛載完成後會被臨時隱藏
掛載點目錄一般為空
掛載方法:mount DEVICE MOUNT_POINT
mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要掛載的設備;
(1) 設備文件:例如/dev/sda5
(2) 卷標:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
(3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e
(4) 偽文件系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在,建議使用空目錄
進程正在使用中的設備無法被卸載
掛載點和/etc/fstab
配置文件系統體系
被mount、fsck和其它程序使用
系統重啟時保留文件系統體系
可以在設備欄使用文件系統卷標
使用mount -a 命令掛載/etc/fstab中的所有文件系統
工具dd
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
if=file 從所命名文件讀取而不是從標準輸入
of=file 寫到所命名的文件而不是到標準輸出
ibs=size 一次讀size個byte
obs=size 一次寫size個byte
bs=size block size, 指定塊大小(既是是ibs也是obs)
cbs=size 一次轉化size個byte
skip=blocks 從開頭忽略blocks個ibs大小的塊
seek=blocks 從開頭忽略blocks個obs大小的塊
count=n 復制n個bs四、RAID
定義:多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供
提高IO能力
磁盤並行讀寫
提高耐用性
磁盤冗余來實現
級別:多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器,安裝OS前在BIOS裏配置
軟件RAID:通過OS實現
RAID級別
RAID-0:條帶卷,strip
RAID-1:鏡像卷,mirror
RAID-2
..
RAID-5
RAID-6
RAID-10
RAID-01五、LVM
邏輯卷管理器(LVM):允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小
允許在多個物理設備間重新組織文件系統
將設備指定為物理卷
用一個或者多個物理卷來創建一個卷組
物理卷是用固定大小的物理區域(Physical Extent,PE)來定義的
在物理卷上創建的邏輯卷是由物理區域(PE)組成
可以在邏輯卷上創建文件系統
LVM可以彈性的更改LVM的容量
通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量
pv管理工具
顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
創建pv
pvcreate /dev/DEVICE
刪除pv
pvremove /dev/DEVICE
vg管理工具
顯示卷組
vgs
vgdisplay
創建卷組
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath...]
管理卷組
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
刪除卷組
先做pvmove,再做vgremove
lv管理工具
顯示邏輯卷
lvs
Lvdisplay
創建邏輯卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
重設文件系統大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_siz
xfs_growfs /mountpoint
擴展和縮減邏輯卷
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
縮減邏輯卷:
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
mount
跨主機遷移卷組
源計算機上
1 在舊系統中,umount所有卷組上的邏輯卷
2 禁用卷組
vgchange –a n vg0
lvdisplay
3 導出卷組
vgexport vg0
pvscan
vgdisplay
4 拆下舊硬盤
在目標計算機上
5 在新系統中安裝舊硬盤,並導入卷組:vgimport vg0
6 vgchange –ay vg0 啟用
7 mount所有卷組上的邏輯卷
使用LVM快照
為現有邏輯卷創建快照
lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
掛載快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap
恢復快照
umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data-snapshot
刪除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
linux學習第四周總結