linux磁盘管理(centos7)

一. 查看磁盘:

  • 命令df:
    用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加任何参数,默认以KB为单位显示。
    -i:查看inodes的使用情况
    -h:表示使用合适的单位显示
    -k、-m:分别以单位KB、MB显示
    [[email protected] ~]# df
    文件系统          1K-块    已用     可用 已用% 挂载点
    /dev/sda3      18351104 1124404 17226700    7% /
    devtmpfs         487064       0   487064    0% /dev
    tmpfs            497960       0   497960    0% /dev/shm
    tmpfs            497960    7808   490152    2% /run
    tmpfs            497960       0   497960    0% /sys/fs/cgroup
    /dev/sda1        508580  122216   386364   25% /boot
    tmpfs             99596       0    99596    0% /run/user/0
    [[email protected] ~]# df -h
    文件系统        容量  已用  可用 已用% 挂载点
    /dev/sda3        18G  1.1G   17G    7% /
    devtmpfs        476M     0  476M    0% /dev
    tmpfs           487M     0  487M    0% /dev/shm
    tmpfs           487M  7.7M  479M    2% /run
    tmpfs           487M     0  487M    0% /sys/fs/cgroup
    /dev/sda1       497M  120M  378M   25% /boot
    tmpfs            98M     0   98M    0% /run/user/0
  • du命令:
    用来查看某个文件或目录所占用空间的大小
    -a:表示全部文件和目录的大小都列出来,单位默认显示为KB
    -h:自动调节单位
    -m:以mb为单位显示
    -s:表示列出总和
  [[email protected] ~]# du /root/
    28	/root/.ssh
    0	/root/2
    68	/root/
    [[email protected] ~]# du -h /root/
    28K	/root/.ssh
    0	/root/2
    68K	/root/
    [[email protected] ~]# du -s /root/
    68	/root/
    [[email protected] ~]# du -sh /root/
    68K	/root/

二.磁盘分区:

linux磁盘管理(centos7)
查看系统是否添加:

 [[email protected] ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000dc8b3

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048     5220351     2097152   82  Linux swap / Solaris
/dev/sda3         5220352    41943039    18361344   83  Linux

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区    #显示已经添加/dev/sdb
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
  • 创建磁盘分区:mbr分区最多只能2T,而且最多只能4个主分区
   [[email protected] ~]# fdisk /dev/sdb
    命令(输入 m 获取帮助):n         
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-20971519,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
    分区 1 已设置为 Linux 类型,大小设为 2 GiB
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbda6321f
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     4196351     2097152   83  Linux
    [[email protected] ~]# ls /dev/sdb*
    /dev/sdb  /dev/sdb1  /dev/sdb2
  • 格式化分区:
    mke2fs命令----不支持xfs分区

-b:表示分区时设定每个数据区块占用的空间大小。目前每个数据块支持1024B、2048B、4096B。
-t:用来指定文件系统的类型,可以是ext2、ext3、ext4
-i:表示设定inode的大小。
-N:表示设定inode的数量
-L:指定分区标签
-m:分配预留大小

[[email protected] ~]# mke2fs -t ext4 -L test /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=test
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

xfs分区:

 [[email protected] ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

查看还没有挂载的分区,使用命令blkid

[[email protected] ~]# blkid /dev/sdb1
/dev/sdb1: UUID="7c715f83-aa53-4d7b-96e5-708a83fe2c90" TYPE="xfs" 

分区设置block块大小:

[[email protected] ~]# mke2fs -t ext4 -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=269484032
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

更改预留大小:

[[email protected] ~]# mke2fs -m 1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
5242 blocks (1.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 

三.磁盘挂载mount

[[email protected] ~]# mount /dev/sdb /mnt/
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.1G   17G    7% /
devtmpfs        476M     0  476M    0% /dev
tmpfs           487M     0  487M    0% /dev/shm
tmpfs           487M  7.7M  479M    2% /run
tmpfs           487M     0  487M    0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M   25% /boot
tmpfs            98M     0   98M    0% /run/user/0
/dev/sdb         10G   33M   10G    1% /mnt

卸载

[[email protected] mnt]# umount /dev/sdb
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[[email protected] mnt]# cd
[[email protected] ~]# umount /mnt
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.1G   17G    7% /
devtmpfs        476M     0  476M    0% /dev
tmpfs           487M     0  487M    0% /dev/shm
tmpfs           487M  7.7M  479M    2% /run
tmpfs           487M     0  487M    0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M   25% /boot
tmpfs            98M     0   98M    0% /run/user/0

或者

[[email protected] mnt]# umount -l /mnt   #可以不用退出目录

挂载分区需要写入到/etc/fstab中,才会永久生效

  • swap分区
    先用dd命令建立一个文件,然后再mkswap格式化为swap文件,然后再swapon刷新
       [[email protected] ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=200 
        记录了200+0 的读入
        记录了200+0 的写出
        209715200字节(210 MB)已复制,15.939 秒,13.2 MB/秒
        [[email protected] ~]# mkswap -f /tmp/newdisk 
        正在设置交换空间版本 1,大小 = 204796 KiB
        无标签,UUID=e4a3aaef-7bfb-4417-b042-2455ade6f3ce
        [[email protected] ~]# free -m
                      total        used        free      shared  buff/cache   available
        Mem:            972         132         471           7         369         659
        Swap:          2047           0        2047
        [[email protected] ~]# swapon /tmp/newdisk 
        swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
        [[email protected] ~]# chmod 0600 /tmp/newdisk 
        [[email protected] ~]# free -m
                      total        used        free      shared  buff/cache   available
        Mem:            972         132         470           7         369         659
        Swap:          2247           0        2247

LVM(逻辑管理器)

 |物理卷管理   | 卷组管理  |  逻辑卷管理
 |pvscan     |vgscan    |lvscan
 |pvcreate   |vgcreate  |lvcreate
 |pvdisplay  |vgdisplay |lvdisplay
 |pvremove   |vgremove  |lvremove
 |           |vgextend  |lvextend
 |           |vgreduce  |lvreduce
  • 创建分区为lvm格式
 命令(输入 m 获取帮助):n    
        Partition type:
           p   primary (0 primary, 0 extended, 4 free)
           e   extended
        Select (default p): p
        分区号 (1-4,默认 1): 
        起始 扇区 (2048-20971519,默认为 2048):
        将使用默认值 2048
        Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
        分区 1 已设置为 Linux 类型,大小设为 2 GiB
        命令(输入 m 获取帮助):t                 #设置lvm格式
        分区号 (1-3,默认 3):1
        Hex 代码(输入 L 列出所有代码):8e
        已将分区“Linux”的类型更改为“Linux LVM”

设置物理卷:
安装lvm

  [[email protected] ~]# yum provides "/*/pvcreate"
  [[email protected] ~]# yum install -y lvm2 

创建物理卷:

 [[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
  Device /dev/sdb1 not found.
  Device /dev/sdb2 not found.
[[email protected] ~]# partprobe
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
  Can't open /dev/sdb1 exclusively.  Mounted filesystem?
  Can't open /dev/sdb2 exclusively.  Mounted filesystem?
  Can't open /dev/sdb1 exclusively.  Mounted filesystem?
  Can't open /dev/sdb2 exclusively.  Mounted filesystem?
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.4G   17G    8% /
devtmpfs        476M     0  476M    0% /dev
tmpfs           487M     0  487M    0% /dev/shm
tmpfs           487M  7.7M  479M    2% /run
tmpfs           487M     0  487M    0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M   25% /boot
tmpfs            98M     0   98M    0% /run/user/0
/dev/sdb         10G   33M   10G    1% /mnt
[[email protected] ~]# umount /mnt/

创建

[[email protected] ~]# partprobe
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
[[email protected] ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  2.00g 2.00g
  /dev/sdb2     lvm2 ---  2.00g 2.00g
[[email protected] ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created
[[email protected] ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 3.99g 3.99g

格式化

[[email protected] ~]# mke2fs -t ext4 /dev/vg1/vo 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
76912 inodes, 307200 blocks
15360 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33947648
38 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

挂载

[[email protected] ~]# mount /dev/vg1/vo /mnt
[[email protected] ~]# df -h
文件系统            容量  已用  可用 已用% 挂载点
/dev/sda3            18G  1.4G   17G    8% /
devtmpfs            476M     0  476M    0% /dev
tmpfs               487M     0  487M    0% /dev/shm
tmpfs               487M  7.6M  479M    2% /run
tmpfs               487M     0  487M    0% /sys/fs/cgroup
/dev/sda1           497M  120M  378M   25% /boot
tmpfs                98M     0   98M    0% /run/user/0
/dev/mapper/vg1-vo  283M  2.1M  262M    1% /mnt

扩容逻辑卷

[[email protected] ~]# umount /mnt
[[email protected] ~]# lvresize -L 400M /dev/vg1/vo 
  New size (100 extents) matches existing size (100 extents).
[[email protected] ~]# e2fsck -f /dev/vg1/vo 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/vo: 12/76912 files (0.0% non-contiguous), 19979/307200 blocks
[[email protected] ~]# resize2fs /dev/vg1/vo 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/vo to 409600 (1k) blocks.
The filesystem on /dev/vg1/vo is now 409600 blocks long.
[[email protected] ~]# mount /dev/vg1/vo /mnt
[[email protected] ~]# df -h
文件系统            容量  已用  可用 已用% 挂载点
/dev/sda3            18G  1.4G   17G    8% /
devtmpfs            476M     0  476M    0% /dev
tmpfs               487M     0  487M    0% /dev/shm
tmpfs               487M  7.6M  479M    2% /run
tmpfs               487M     0  487M    0% /sys/fs/cgroup
/dev/sda1           497M  120M  378M   25% /boot
tmpfs                98M     0   98M    0% /run/user/0
/dev/mapper/vg1-vo  380M  2.3M  354M    1% /mnt

逻辑卷缩容:

    [[email protected] ~]# e2fsck -f /dev/vg1/vo 
    e2fsck 1.42.9 (28-Dec-2013)
   第一步: 检查inode,块,和大小
   第二步: 检查目录结构
   第3步: 检查目录连接性
   Pass 4: Checking reference counts
   第5步: 检查簇概要信息
   
    [[email protected] ~]# e2fsck -f /dev/vg1/vo 
    e2fsck 1.42.9 (28-Dec-2013)
    第一步: 检查inode,块,和大小
    第二步: 检查目录结构
    第3步: 检查目录连接性
    Pass 4: Checking reference counts
    第5步: 检查簇概要信息
   /dev/vg1/vo: 12/101200 files (0.0% non-contiguous), 23299/409600 blocks
    [[email protected] ~]# resize2fs /dev/vg1/vo 200M
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on /dev/vg1/vo to 204800 (1k) blocks.
    The filesystem on /dev/vg1/vo is now 204800 blocks long.
    
    [[email protected] ~]# lvresize -L 200M /dev/vg1/vo 
      WARNING: Reducing active logical volume to 200.00 MiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce vg1/vo? [y/n]: y
      Size of logical volume vg1/vo changed from 400.00 MiB (100 extents) to 200.00 MiB (50 extents).
      Logical volume vg1/vo successfully resized.
  • xfs扩容:
    [[email protected] ~]# mkfs.xfs -f /dev/vg1/vo 
    meta-data=/dev/vg1/vo            isize=512    agcount=4, agsize=12800 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=51200, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=855, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [[email protected] ~]# blkid
    /dev/sda1: UUID="39f030d3-02cb-45bc-8823-5c0139be88a3" TYPE="xfs" 
    /dev/sda2: UUID="77a3f3cc-3f7e-4077-aa48-ece8cba44dbd" TYPE="swap" 
    /dev/sda3: UUID="58991356-724f-4290-9be3-2aded9ff68e9" TYPE="xfs" 
    /dev/sdb1: UUID="QUVTIW-i11z-SBjg-aeBR-Upea-46CC-7ztoPo" TYPE="LVM2_member" 
    /dev/sdb2: UUID="6GBwaf-HQCw-1oAe-Xx10-WZhI-oxgF-j2tUMf" TYPE="LVM2_member" 
    /dev/mapper/vg1-vo: UUID="24837900-df2f-43bc-8329-88d3849ea1ec" TYPE="xfs"

  [[email protected] ~]# lvresize -L 400M /dev/vg1/vo 
  Size of logical volume vg1/vo changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume vg1/vo successfully resized.

 [[email protected] ~]# xfs_growfs /dev/vg1/vo 
meta-data=/dev/mapper/vg1-vo     isize=512    agcount=4, agsize=12800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=51200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 51200 to 102400
   

笔记:
RAID(独立冗余磁盘阵列)
RAID 0:提高速度
linux磁盘管理(centos7)
RAID 1:具有备份功能
linux磁盘管理(centos7)
RAID 5: 把设备的数据奇偶校验信息保存到其他硬盘设备中。
linux磁盘管理(centos7)
RAID 10:RAID0和RAID1的组合。

linux磁盘管理(centos7)linux磁盘管理(centos7)

dd工具命令使用:

测试写速度:
dd if=/dev/zero of=/fdfs1/dauyu/test1.dbf bs=8k count=400000
测试读取速度:
dd if=/fdfs1/daiyu/test1.dbf of=/dev/null