磁盤分區
分區格式的兩種選擇:MBR和GPT
分區命令:
parted的操作都是實時生效的,小心使用,主要是用于大于2T硬盤,支持MBR和GPT兩種格式。
用法:parted [選項]… [設備[命令[參數]…]…]
-
parted /dev/sdb mklabelgpt|msdos //選擇分區格式
-
parted /dev/sdb print //查看分區
-
parted /dev/sdb mkpart primary 1 200 (默認M) //分出一個199M的分區
-
parted /dev/sdb rm1 //刪除分區1
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 1 1G
parted /dev/sdb print
parted /dev/sdb mkpart primary 1001 20G
parted /dev/sdb mkpart logical 20G 80G
parted /dev/sdb rm 1
gdisk 主要是去分GPT格式 (支持2T以上)
gdisk -l [-u] [device…]
子命令:
- p 分區列表
- t 更改分區類型
- n 創建新分區
- d 刪除分區
- w 保存并退出
- q 不保存并退出
gdisk /dev/sdb
Command (? for help): n Partition number (3-128, default 3):3 First sector (34-419430366, default = 44042240) or {+-}size{KMGTP}: Last sector (44042240-419430366, default = 419430366) or {+-}size{KMGTP}: +20g Hex code or GUID (L to show codes, Enter = 8300):一個ID號,默認就好
Command (? for help): p Command (? for help):w 存盤退出
fdisk 分MBR格式(2T以下推薦使用)
fdisk -l [-u] [device…]
子命令:
- p 分區列表
- t 更改分區類型
- n 創建新分區
- d 刪除分區
- w 保存并退出
- q 不保存并退出
fdisk /dev/sdb
Command (m for help): m Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-419430399, default 2048): Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):+1G(必須嚴格區分大小寫)
Command (m for help): p Command (m for help): w
fdisk 實現非交互式分區:
echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb
echo -e 激活轉義符
- \a 發出警告聲
- \n 回車
查看機器上有幾個分區的方法:
- lsblk
- fdisk -l
- ls /dev/sd*
- cat /proc/partitions
- echo ‘- > /sys/class/scsi_host/host2(可能不止一個)/scan
同步分區信息:
cetos 5或者7 :partprobe-重新設置內存中的內核分區表版本
centos6 :
新增分區同步: partx -a /dev/sda
刪除分區同步: partx -d –nr 7-8 /dev/sda
查工具來自哪個包:
yum list |grep xfs 找安裝包
MBR和GPT格式相互轉換:
parted /dev/sdb mklabel msdos
注意:分區名稱不穩定 分區同步問題 執行完每個命令一定要看下,驗證下結果,再做下一步。
文件系統
文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統。
Linux文件系統:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
光盤:iso9660
Windows:fat32, ntfs
Unix: FFS(fast), UFS(unix), JFS2
網絡文件系統:NFS, CIFS
集群文件系統:GFS2, OCFS2(oracle)
分布式文件系統:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:未經處理或者未經格式化產生的文件系統
說明:
centos 7 默認 XFS
centos 6 默認 ext4
centos 5 默認
ext3ext2與ext3相差一個日志功能(journal)
blkid 查看當前系統已有文件系統
創建文件系統
mkfs命令:
mkfs.FS_TYPE/dev/DEVICE
[root@centos6: /root]# mkfs.ext4 /dev/sdb1 [root@centos6: /root]# blkid /dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4"
mke2fs:ext系列文件系統專用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL’
-j: 相當于-t ext3
mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3
-i#: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小
-N #:為數據空間創建個多少個inode
-I 一個inode記錄占用的磁盤空間大小,128—4096
-m #: 默認5%,為管理人員預留空間占總空間的百分比
-O FEATURE[,…]:啟用指定特性
-O ^FEATURE:關閉指定特性
[root@centos6: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3
blkid:塊設備屬性信息查看
-
-U UUID: 根據指定的UUID來查找對應的設備
[root@centos6: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3 /dev/sda6
-
-L LABEL:根據指定的LABEL來查找對應的設備
[root@centos6: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 //給設備/dev/sdb2創建一個卷標/mnt/sdb2
[root@centos6: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"TYPE="ext4" [root@centos6: /root]# blkid -L /mnt/sdb2
/dev/sdb2
e2label:管理ext系列文件系統的LABEL
e2label DEVICE [LABEL]
[root@centos6: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4" [root@centos6: /root]# e2label /dev/sdb2 /app/sdb2 [root@centos6: /root]# blkid /dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
findfs:查找分區
findfs[options] LABEL=<label>
[root@centos6: /root]# findfs LABEL="/app/sdb2" /dev/sdb2
findfs[options] UUID=<uuid>
[root@centos6: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" /dev/sdb2
dumpe2fs:
- -h:查看超級塊信息,不顯示分組信息
[root@centos6: /root]# dumpe2fs /dev/sdb1
文件修復
- 常發生于死機或者非正常關機之后 掛載為文件系統標記為“no clean” 注意:一定不要在掛載狀態下修復
fsck: File System Check
fsck-t FS_TYPE
-p: 自動修復錯誤
-r: 交互式修復錯誤
FS_TYPE一定要與分區上已經文件類型相同
e2fsck:ext系列文件專用的檢測修復工具
-y:自動回答為yes
-f:強制修復
fsck /dev/sdb2 -y
注意:修復操作生產中慎用,盡量請專業公司來修復。
掛載
掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為
卸載:為解除此關聯關系的過程
把設備關聯掛載點:mount Point
卸載時:可使用設備,也可以使用掛載點 umount
掛載點下原有文件在掛載完成后會被臨時隱藏
掛載點目錄一般為空
掛載前一點要先查看下掛載情況,一旦已經掛載某個設備的目錄,一定不要去掛載其他設備,不然以前目錄下設備的文件被隱蔽工程,導致以前目錄中文件無法訪問,嚴重話可能會導致部分服務宕機。
用mount命令掛載文件系統
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:掛載點 事先存在;建議使用空目錄
- 進程正在使用中的設備無法被卸載
# mount /dev/sdb1 /mnt/sdb1 //掛載 # df //查看 /dev/sdb1 999320 2564 927944 1% /mnt/sdb1
mount常用命令選項
- -t vsftype:指定要掛載的設備上的文件系統類型
- -r: readonly,只讀掛載
- -w: read and write, 讀寫掛載
- -n: 不更新/etc/mtab,mount不可見(隱藏掛載,只能使用cat /proc/mounts)
- -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
- -L ‘LABEL’: 以卷標指定掛載設備
- -U ‘UUID’: 以UUID指定要掛載的設備
- -B, –bind: 綁定目錄到另一個目錄上
查看內核追蹤到的已掛載的所有設備: cat /proc/mounts
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
async:異步模式
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime:包含目錄和文件
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支持自動掛載,是否支持-a選項
exec/noexec:是否支持將文件系統上運行應用程序
dev/nodev:是否支持在此文件系統上使用設備文件
suid/nosuid:不否支持suid和sgid權限
remount:重新掛載
ro:只讀
rw:讀寫
user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
acl:啟用此文件系統上的acl功能
Defaults:相當于rw, nosuid, dev, exec, auto, nouser, async
查看掛載情況:
#findmntMOUNT_POINT
查看正在訪問指定文件系統的進程:
#lsofMOUNT_POINT #fuser -v MOUNT_POINT
終止所有在正訪問指定的文件系統的進程:
#fuser -km MOUNT_POINT
取消掛載卸載:
#umountDEVICE #umountMOUNT_POINT
查看掛載關系
#mount
#cat /etc/mtab
cat /proc/mounts //隱藏掛載也可以看到
文件掛載配置文件
/etc/fstab每行定義一個要掛載的文件系統;
#cat /etc/fstab UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 / ext4 defaults 1 1
從左到右依次解釋:
- 要掛載的設備或偽文件系統
- 掛載點
- 文件系統類型
- 掛載選項
- 轉儲頻率
- 自檢次序
- 要掛載的設備
目錄掛目錄的配置文件寫法:
/boot /mnt/boot none bind 0 0
文件掛文件的配置文件寫法:
/root/partfile /mnt/file ext4 loop 0 0
生效: mount -a
重新掛載某個設備:
mount -o remount /mnt/sdb1
處理交換文件和分區
交換分區是系統RAM的補充
基本設置包括:
創建交換分區或者文件:
分區完需要改ID為82,默認為83,按t更新,L可以查看可以更改的類型。
使用mkswap寫入特殊簽名
[root@centos6: /root]# mkswap /dev/sdb5 -L swap2
?在/etc/fstab文件中添加適當的條目
vim /etc/fstab
:r!blkid //vim下讀取某個分區的UUID UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2 swap defaults 0 0
?使用swapon -a 激活交換空間
[root@centos6: /root]# swapon -a //重新讀取配置文件生效
- swapon -s 查看誰提供swap
原創文章,作者:祥健,如若轉載,請注明出處:http://www.www58058.com/74154
對文件系統管理類的命令展開了介紹,內容總結的很精細,排版也很好,可以的話把博客的數量再提一提!