1. 程式人生 > >Linux磁盤管理(二)

Linux磁盤管理(二)

查找 因此 div image fdisk proc 默認 kernel 掛載

上一篇介紹了磁盤結構和分區結構,這一篇來介紹管理分區和管理文件系統

管理分區

1. 創建分區

(1)fdisk:創建MBR分區

fdisk -l [-u] [device...]     查看分區
fdisk /dev/sdb   管理分區
             子命令:
                  p 分區列表
                  t 更改分區類型
                  n 創建新分區
                  d 刪除分區
                  v 校驗分區
                  u 轉換單位
                  
w 保存並退出 q 不保存並退

技術分享圖片

fdisk創建分區時是交互式的,因此寫入腳本時需要

  echo -e "n\np\n1\n\n+1G\nw\n" | fdisk /dev/sdb

來實現非交互式創建分區

(2)gdisk: 創建GPT分區

gdisk創建分區與fdisk很相似

技術分享圖片

(3)parted:高級分區操作

parted的操作都是實時生效的,不再使用w保存操作,因此要小心使用

parted用法

parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
parted /dev/sdb mklabel gpt|msdos     創建gpt或者mbr磁盤      
parted 
/dev/sdb print 打印sdb信息 parted /dev/sdb mkpart primary 1 200 創建主分區1,大小為200M(默認單位為M) parted /dev/sdb rm 1 刪除分區1 parted –l 列出分區信息

也可以用交互式

技術分享圖片

2. 通知內核識別新分區

CentOS 5,7 : 使用 partprobe

CentOS 6使用 partx

  • 新增分區用: partx -a /dev/DEVICE
  • 刪除分區用: partx -d --nr M-N /dev/DEVICE

查看內核是否已經識別新的分區: cat /proc/partations

列出分區 : lsblk

管理文件系統

1. 文件系統概述

(1)文件系統簡介

  • 文件系統是操作系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統
  • 從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日誌,壓縮,加密等

查看系統支持的文件系統

[root@centos7 ~]# ls /lib/modules/`uname -r`/kernel/fs
binfmt_misc.ko.xz  cifs    ext4     gfs2   mbcache.ko.xz  nls        udf
btrfs              cramfs  fat      isofs  nfs            overlayfs  xfs
cachefiles         dlm     fscache  jbd2   nfs_common     pstore
ceph               exofs   fuse     lockd  nfsd           squashfs

(2)文件系統類型

  • Linux文件系統:ext2,ext3,ext4,xfs,btrfs(Oracle), reiserfs, jfs(AIX), swap 等
  • 光盤:iso9660
  • Windows:FAT32, exFAT,NTFS
  • Unix: FFS(fast), UFS(unix), JFS2
  • 網絡文件系統:NFS, CIFS
  • 集群文件系統:GFS2, OCFS2(oracle)
  • 分布式文件系統:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
  • RAW:未經處理或者未經格式化產生的文件系統

根據其是否支持"journal"功能:

  • 日誌型文件系統: ext3, ext4, xfs, ...
  • 非日誌型文件系統: ext2, vfat

2. 創建文件系統

(1)mkfs命令

mkfs.FS_TYPE /dev/DEVICE
mkfs -t FS_TYPE /dev/DEVICE
          -L LABEL: 設定卷標
          -f :強制重建,如果這個設備已經分過其他格式的文件系統了

[root@centos7 ~]# mkfs.ext4 -L "mydata" /dev/sdb1

(2)mke2fs:ext系列文件系統專用管理工具

-t {ext2|ext3|ext4}   
-b {1024|2048|4096}   block快大小
-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@centos7 ~]# mke2fs -t ext4 -b 2048 -i 8192 -N 10000 -m 3 /dev/sdc1

3. 調整文件系統參數

(1)tune2fs:重新設定ext系列文件系統可調整參數的值

-l :查看指定文件系統超級塊信息;super block
-L LABEL:修改卷標
-m # :修預留給管理員的空間百分比
-j : 將ext2升級為ext3
-O : 文件系統屬性啟用或禁用,例如–O ^has_journal
-o : 調整文件系統的默認掛載選項,例如–o ^acl
-U UUID: 修改UUID號

(2)e2label:管理ext系列文件系統的LABEL

e2label /dev/sd#                查看卷標
e2label /dev/sd# LABEL     重命名卷標

4. 信息查看

(1)blkid:塊設備屬性信息查看

blkid [OPTION]... [DEVICE]
       -U UUID: 根據指定的UUID來查找對應的設備
       -L LABEL:根據指定的LABEL來查找對應的設備

(2)findfs:查找分區

findfs [options] LABEL=<label>
findfs [options] UUID=<uuid>

(3)dumpe2fs 查看文件系統信息,superblock信息及block group信息

    -h :查看超級塊,不顯示block group而只顯示superblock 與 tune2fs -l 一致

5. 文件系統檢測和修復

發生於死機或者非正常關機之後,掛載為文件系統有幾率標記為“no clean”

註意:一定不要在掛載狀態下修復

(1)fsck

fsck.FS_TYPE DEVICE
fsck -t FS_TYPE DEVICE
      -p: 自動修復錯誤
      -r: 交互式修復錯誤

(2)e2fsck:ext系列文件專用的檢測修復工具

e2fsck DEVICE
-y:自動回答為yes -f:強制修復

Linux磁盤管理(二)