第四章.磁盘管理

本文详细介绍了Linux系统中的磁盘管理,包括使用df和du命令查看磁盘空间,磁盘分区操作如fdisk,以及磁盘格式化如mke2fs和mkfs,强调了xfs文件系统的特性和注意事项。还涵盖了磁盘挂载、逻辑卷扩容和缩减等操作,特别提到了MBR和GPT分区机制的区别和限制。
摘要由CSDN通过智能技术生成

4.1 df命令

4.2 du命令

4.3/4.4/4.5 磁盘分区

4.6/4.7/4.8 磁盘格式化

4.9 手动增加swap空间

4.10/4.11/4.12 lvm讲解

4.13 磁盘故障小案例

4.14扩展学习parted分区gpt格式

 

 

4.1 df命令

##查看分区情况三种方法

1)df -h

2)lsblk           

3)fdisk  -l

 

df                #查看磁盘空间使用情况

    -h                   # 将单位化为M

[root@localhost ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G  1.2G   27G    5% /

devtmpfs        477M     0  477M    0% /dev

tmpfs           488M     0  488M    0% /dev/shm

tmpfs           488M  7.6M  480M    2% /run

tmpfs           488M     0  488M    0% /sys/fs/cgroup

/dev/sda1       197M  129M   68M   66% /boot

tmpfs            98M     0   98M    0% /run/user/0

#文件系统名带tmpfs都是临时文件系统,在对应的挂载点写文件后重启系统会消失

 

-t                  #查看文件系统类型

 

    -m                 #以M为单位显示

[root@localhost ~]# df -m

文件系统       1M-块  已用  可用 已用% 挂载点

/dev/sda3      28458  1152 27306    5% /

devtmpfs         477     0   477    0% /dev

tmpfs            488     0   488    0% /dev/shm

tmpfs            488     8   480    2% /run

tmpfs            488     0   488    0% /sys/fs/cgroup

/dev/sda1        197   129    68   66% /boot

tmpfs             98     0    98    0% /run/user/0

 

    -i                  #查看分区inode及inode使用情况

[root@localhost ~]# df -i

文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点

/dev/sda3      14577152   30344 14546808       1% /

devtmpfs         122026     375   121651       1% /dev

tmpfs            124743       1   124742       1% /dev/shm

tmpfs            124743     691   124052       1% /run

tmpfs            124743      16   124727       1% /sys/fs/cgroup

/dev/sda1        102400     332   102068       1% /boot

tmpfs            124743       1   124742       1% /run/user/0

 

#如果某个分区用了大部分空间,但还有少量剩余空间,发现写文件放不进去,可以去查看该分区的inode是否满了

 

free           #查看/swap/内存空间

[root@localhost ~]# free

                      total        used        free         shared       buff/cache   available

Mem:         997948      133640      712672        7756      151636      695644

Swap:       2097148           0       2097148

 

 

4.2 du命令

du                   #查看文件大小

[root@localhost ~]# du  3.txt

4    3.txt

 

du                   #查看目录及子目录和文件大小

[root@localhost ~]# du /root/

12    /root/.ssh

0    /root/123/12/1.txt

0    /root/123/12

0    /root/123

0    /root/xin/123

0    /root/xin

56    /root/

 

 du   -sh    目录           #加s只查看目录本身大小

[root@localhost ~]# du -sh /root/

56K    /root/

 

du   -sb    文件            #s再加上b就可准确查看文件大小    

[root@localhost ~]# du -sb 1.txt

2    1.txt

 

ls与du查看文件大小的区别

[root@localhost ~]# ll 1.txt

-rw-r--r--. 1 root root 2 7月  30 19:37 1.txt

[root@localhost ~]# du 1.txt

   1.txt

 

#通过ls知道1.txt大小为2k,但是du出来的却是4k,因为磁盘划分为无数小块,一块最小为4k;一个块只有一个文件,不能有多个块占用一个文件

 

 

4.3/4.4/4.5 磁盘分区

 

先给虚拟机增加一块磁盘

 鼠标移动到客户机名称-->右键-->设置-->点击添加-->选择硬盘,下一步-->下一步-->下一步-->输入磁盘大小,下一步-->选择文件存放路径,完成点-->按右下角的确定按钮-->reboot,重启客户机   

 

fdisk  -l                                                            #查看系统的磁盘

[root@localhost ~]# fdisk -l

 

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x000c7e5e

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      411647      204800   83  Linux

/dev/sda2          411648     4605951     2097152   82  Linux swap / Solaris

/dev/sda3         4605952    62914559    29154304   83  Linux

 

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

 

fdisk     磁盘名字(例、/dev/sdb)                  #划磁盘分区

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

 

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

 

Device does not contain a recognized partition table

使用磁盘标识符 0xaf27348a 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):

 

n   #增加一个新的分区

p   #列出分区

w   #保存分区(增加完要记得保存)

d    #删除分区

 

#小技巧:输入错误时删除可按ctrl+退格键删除字符

#分区类型:p 主分区            #一个磁盘最多划分4个主分区

e 扩展分区(包含逻辑分区)

 

#一个磁盘要想划分更多主分区,可以先划分3个主分区,然后划分一个扩展分区,接下来就可以在扩展分区里面划分主分区。

#逻辑分区区号从5 开始(区号是连续的),1~4是留给主分区和扩展分区的

#安装系统的时候,引导分区必须是要在主分区上

#分区输入大小输错可以使用ctrl+退格键删除字符

#fdisk划分分区最高划分2个T内存

 

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5c34aa23

 

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     4196351     2097152   83  Linux

/dev/sdb2         4196352     8390655     2097152   83  Linux

/dev/sdb3         8390656    12584959     2097152   83  Linux

/dev/sdb4        12584960    18876415     3145728    5  Extended

 

 

4.6/4.7 磁盘格式化

 

#xfs 是CentOS7默认的文件系统格式

/etc/filesystems         #该文件存储CentOS7系统支持的文件系统格式

[root@localhost ~]# cat /etc/filesystems

xfs

ext4

ext3

ext2

nodev proc

nodev devpts

iso9660

vfat

hfs

hfsplus

*

[root@localhost ~]#

 

mount                 #查看文件分区系统的格式

 

2、mke2fs                           #格式化分区

-t                                    #指定文件系统

[root@localhost ~]# mke2fs -t xfs   /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

Your mke2fs.conf file does not define the xfs filesystem type.

#mke2fs不支持xfs格式

 

#默认块大小..预留空间...块对应inode数

[root@localhost ~]# mke2fs -t ext4  /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

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: 完成

 

-b                                   #指定块大小

-m                             #指定分区预留空间大小(默认5%预留空间)

-i                      #指定多少字节对应一个inode

#默认是1个inode对应4个块,一个块为4k

#当磁盘使用场景为很多小文件(小于4k)时,把块设置1k或者2k是能提升空间利用率的。

[root@localhost ~]# mke2fs -t ext4 -b 8192 -m 0.1 -i 8192 /dev/sdb1

Warning: blocksize 8192 not usable on most systems.

mke2fs 1.42.9 (28-Dec-2013)

mke2fs: 8192-byte blocks too big for system (max 4096)

无论如何也要继续? (y,n) y

Warning: 8192-byte blocks too big for system (max 4096), forced to continue

warning: 32 blocks unused.

文件系统标签=

OS type: Linux

块大小=8192 (log=3)

分块大小=8192 (log=3)

Stride=0 blocks, Stripe width=0 blocks

262016 inodes, 262112 blocks

261 blocks (0.10%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=268402688

4 block groups

65528 blocks per group, 65528 fragments per group

65504 inodes per group

Superblock backups stored on blocks:

    65528, 196584

Allocating group tables: 完成                            

正在写入inode表: 完成                            

Creating journal (4096 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

 

blkid    分区                    #查看分区的UUID,文件系统类型

[root@localhost ~]# blkid /dev/sdb1

/dev/sdb1: UUID="32be2d7f-2f2a-47a4-ab1b-b72e9545df3d" TYPE="ext4"

 

3、mkfs

mkfs.ext4(等于mke2fs  -t  ext4)

mkfs.xfs   分区名        #可以格式化xfs (如果该分区已有格式,加-f可强制改格式)

 #xfs格式只支持mkfs命令,其它格式都支持mkfs、mke2fs。

[root@localhost ~]# mkfs.xfs /dev/sdb1

mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).

mkfs.xfs: Use the -f option to force overwrite.

[root@localhost ~]# 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

 

让inode数变多办法

1、把块格式化时规定小一点

2、把inode设置的大一点

 

 

4.8磁盘挂载

磁盘挂载(另外一种分区方法)  #挂载前提,必须经过格式化

[root@localhost ~]# mkfs.xfs -f /dev/sdb

meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=2621440, 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

[root@localhost ~]# blkid /dev/sdb

/dev/sdb: UUID="159f5b77-5c0d-4a70-9d33-db026dbd0b47" TYPE="xfs"

 

1、临时挂载

mount  分区号    挂载点(目录)               #挂载   

[root@localhost ~]# mount /dev/sdb /mnt/

[root@localhost ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G  1.2G   27G    5% /

devtmpfs        477M     0  477M    0% /dev

tmpfs           488M     0  488M    0% /dev/shm

tmpfs           488M  7.7M  480M    2% /run

tmpfs           488M     0  488M    0% /sys/fs/cgroup

/dev/sda1       197M  129M   68M   66% /boot

tmpfs            98M     0   98M    0% /run/user/0

/dev/sdb         10G   33M   10G    1% /mnt

 

mount   -o     权限    挂载点      (未挂载)     #权限如下(设置挂载目录权限)

mount   -o   remount权限    挂载点    (重新挂载)

#defaults(默认rw(可读可写),suid,dev(不用管),exec(执行),auto(自动挂载),nouser(普通用户不可挂载),async (不会实时同步))

----------权限前面加no就是否

[root@localhost ~]# mount -o ro /dev/sdb

mount: /dev/sdb 已经挂载或 /mnt 忙

       /dev/sdb 已经挂载到 /mnt 上

[root@localhost ~]# mount -o remount,ro /dev/sdb

 

umount   分区号 /挂载点      #卸载分区号或者挂载目录都能卸载挂载点

[root@localhost mnt]# umount /dev/sdb

umount: /mnt:目标忙。

        (有些情况下通过 lsof(8) 或 fuser(1) 可以

         找到有关使用该设备的进程的有用信息)

[root@localhost mnt]# cd

[root@localhost ~]# umount /dev/sdb

[root@localhost ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G  1.2G   27G    5% /

devtmpfs        477M     0  477M    0% /dev

tmpfs           488M     0  488M    0% /dev/shm

tmpfs           488M  7.7M  480M    2% /run

tmpfs           488M     0  488M    0% /sys/fs/cgroup

/dev/sda1       197M  129M   68M   66% /boot

tmpfs            98M     0   98M    0% /run/user/0

 

umount  -l   分区号 /挂载点   

 #加l,即使你当前目录在挂载点,也能卸载挂载点

[root@localhost ~]# mount /dev/sdb /mnt

[root@localhost ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G  1.2G   27G    5% /

devtmpfs        477M     0  477M    0% /dev

tmpfs           488M     0  488M    0% /dev/shm

tmpfs           488M  7.7M  480M    2% /run

tmpfs           488M     0  488M    0% /sys/fs/cgroup

/dev/sda1       197M  129M   68M   66% /boot

tmpfs            98M     0   98M    0% /run/user/0

/dev/sdb         10G   33M   10G    1% /mnt

[root@localhost ~]# cd /mnt

[root@localhost mnt]# umount -l /dev/sdb

[root@localhost mnt]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G  1.2G   27G    5% /

devtmpfs        477M     0  477M    0% /dev

tmpfs           488M     0  488M    0% /dev/shm

tmpfs           488M  7.7M  480M    2% /run

tmpfs           488M     0  488M    0% /sys/fs/cgroup

/dev/sda1       197M  129M   68M   66% /boot

tmpfs            98M     0   98M    0% /run/user/0

 

2、永久挂载

/etc/fstab             #挂载配置文件 

 

/dev/sdb1 或者UUID          /mnt          xfs           deaults      0  0 

 

/etc/fstab里面每列大概意思为:

第一列:块设备

第二列:挂载点

第三列:文件类型

第四列:挂载选项(默认defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async)

第五列:是否备份,0不备份,1每天备份,2不定期备份

第六列:检验扇区 ,0不检验,1最先检验,21检验完后在检验

 

开机自动挂载的两种方式

1./etc/fstab                      #添加挂载点

2./etc/rc.d/rc.local                #使用命令

把mount 的命令放到/etc/rc.d/rc.local 里面去即可;

例:vi /etc/rc.d/rc.local 

然后把 mount -t nfs /dev/sdb 这个命令写进去。保存退出就好了。

 

 

4.9 手动增加swap空间

1.模拟一个磁盘

dd if=/dev/zero of=/tmp/newdisk  bs=1M count=100         

[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,2.33579 秒,44.9 MB/秒

 

#/tmp/newdisk是自创分区的文件  (最好放到 / 目录下,这样开机不会消失

#dd(操作磁盘读写) 、if(指定从哪里去读)、/dev/zero(Linux内核里面的造零器,产生源源不断的0)、of(指定这些0写到哪里去)、bs(指定块大小)

#bs乘以count=newdisk的大小

 

2.格式化swap文件系统

mkswap  -f  /tmp/newdisk       #格式化swap

[root@localhost ~]# mkswap -f /tmp/newdisk

正在设置交换空间版本 1,大小 = 102396 KiB

无标签,UUID=cbecfab0-a8ed-48ef-af02-8ded19b6d11a

 

3.swapon   /tmp/newdisk          # 加载到现在的swap

[root@localhost ~]# swapon /tmp/newdisk

swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。

[root@localhost ~]# chmod 600 /tmp/newdisk

 

free  -m     #查看swap空间

[root@localhost ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:            974         125         591           7         257         672

Swap:          2147           0        2147

 

swapoff  /tmp/newdisk        #删除挂载的虚拟磁盘

rm -f /tmp/newdisk             #删除文件

[root@localhost ~]# swapoff /tmp/newdisk

[root@localhost ~]# free  -m

              total        used        free      shared  buff/cache   available

Mem:            974         124         591           7         257         672

Swap:          2047           0        2047

[root@localhost ~]# rm -f /tmp/newdisk

 

 

4.10/4.11/4.12 lvm讲解

 

关于LVM的创建、扩容、缩减用法

例:

1、创建LVM步骤

一、准备磁盘分区

fdisk  /dev/sdb

1、共创建三个分区,分别为+1G

2、按t 更改分区类型,输入“8e”,则变为LVM类型

3、w保存退出

#有时候创建完分区之后系统不会创建分区的目录,这时候需要运行partprobe,就会创建目录了

 

二、准备物理卷

将三个分区创建物理卷

yum provides “/*/pvcreate”    #找出pvcreate命令的安装包名称

 

pvcreate  分区号    

[root@localhost ~]# pvcreate /dev/sdb1

WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y

  Wiping xfs signature on /dev/sdb1.

  Physical volume "/dev/sdb1" successfully created.

[root@localhost ~]# pvcreate /dev/sdb2

WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: y

  Wiping xfs signature on /dev/sdb2.

WARNING: xfs_external_log signature detected on /dev/sdb2 at offset 16384. Wipe it? [y/n]: y

  Wiping xfs_external_log signature on /dev/sdb2.

  Physical volume "/dev/sdb2" successfully created.

[root@localhost ~]# pvcreate /dev/sdb3

  Physical volume "/dev/sdb3" successfully created.

 

pvdisplay                       #列出物理卷信息

root@localhost ~]# pvdisplay

  "/dev/sdb1" is a new physical volume of "1.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb1

  VG Name               

  PV Size               1.00 GiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               UCuV0Y-QQGz-clpu-PKfO-Ygr1-8xEB-UCiP84

   

  "/dev/sdb3" is a new physical volume of "1.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb3

  VG Name               

  PV Size               1.00 GiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               BkdJ2C-ShQh-A9OB-fwG5-nAqK-ZCdR-hMe8nx

   

  "/dev/sdb2" is a new physical volume of "1.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb2

  VG Name               

  PV Size               1.00 GiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               0gr82T-bSAw-BgyH-6ZPx-Wof4-DyXq-PeqCYY

 

pvs                                 #更直观,查看当前物理卷

root@localhost ~]# pvs

  PV         VG Fmt  Attr PSize PFree

  /dev/sdb1     lvm2 ---  1.00g 1.00g

  /dev/sdb2     lvm2 ---  1.00g 1.00g

  /dev/sdb3     lvm2 ---  1.00g 1.00g

 

pvremove  分区号          #删除物理卷

 

三、创建卷

vgcreate   卷名  物理卷1   物理卷2

root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2

  Volume group "vg1" successfully created

 

vgdisplay                 #列出卷信息

root@localhost ~]# vgdisplay vg1

  --- Volume group ---

  VG Name               vg1

  System ID             

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               1.99 GiB

  PE Size               4.00 MiB

  Total PE              510

  Alloc PE / Size       0 / 0   

  Free  PE / Size       510 / 1.99 GiB

  VG UUID               dRi8R2-svVP-AsrR-tyq3-5ya8-HNs9-He6C0d

 

vgs                            #查看卷

root@localhost ~]# vgs

  VG  #PV #LV #SN Attr   VSize VFree

  vg1   2   0   0 wz--n- 1.99g 1.99g

 

vgremove                 #删除卷

 

四、创建逻辑卷

lvcreate -L 100M  -n  lv1   vg1(卷组)         

#划分创建逻辑卷lv1, -L为大小 , -n为名字,

root@localhost ~]# lvcreate -L 300M -n lv1 vg1

  Logical volume "lv1" created.

 

lvdisplay                   #列出逻辑卷信息

lvs                              #查看逻辑卷  

mkfs.ext4  /dev/vg1/lv1                  #格式化lv1为ext4格式

 

mount    /dev/vg1/lv1    /mnt         #挂载到/mnt下

root@localhost ~]# mount /dev/vg1/lv1 /mnt

[root@localhost ~]#

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

/dev/sda3             28G  1.3G   27G    5% /

devtmpfs             477M     0  477M    0% /dev

tmpfs                488M     0  488M    0% /dev/shm

tmpfs                488M  7.7M  480M    2% /run

tmpfs                488M     0  488M    0% /sys/fs/cgroup

/dev/sda1            197M  129M   68M   66% /boot

tmpfs                 98M     0   98M    0% /run/user/0

/dev/mapper/vg1-lv1  283M  2.1M  262M    1% /mnt

 

2、扩容逻辑卷

##扩容前必须要先umount

        xfs只支持扩容操作,不支持缩小

        ext2、ext3、ext4支持扩容、缩小

先umont掉挂载点,然后再重新设置卷大小,检查磁盘错误,更新逻辑卷信息

    一、ext4格式

lvresize -L  300M  /dev/vg1/lv1      #重新设置卷大小

[root@localhost ~]# lvresize -L 300M /dev/vg1/lv1

    Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).

  Logical volume vg1/lv1 successfully resized.

 

e2fsck  -f /dev/vg1/lv1                    #检查磁盘错误

[root@localhost mnt]# e2fsck -f /dev/vg1/lv1

e2fsck 1.42.9 (28-Dec-2013)

第一步: 检查inode,块,和大小

第二步: 检查目录结构

第3步: 检查目录连接性

Pass 4: Checking reference counts

第5步: 检查簇概要信息

/dev/vg1/lv1: 11/76912 files (0.0% non-contiguous), 19977/307200 blocks

 

resize2fs   /dev/vg1/lv1                   #更新逻辑卷信息

[root@localhost mnt]# resize2fs /dev/vg1/lv1

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/vg1/lv1 to 307200 (1k) blocks.

The filesystem on /dev/vg1/lv1 is now 307200 blocks long.

 

mount  /dev/vg1/lv1  /mnt                 #重新挂载逻辑卷

[root@localhost mnt]# mount /dev/vg1/lv1 /mnt

[root@localhost mnt]# df -h

文件系统             容量  已用  可用 已用% 挂载点

/dev/sda3             28G  1.3G   27G    5% /

devtmpfs             477M     0  477M    0% /dev

tmpfs                488M     0  488M    0% /dev/shm

tmpfs                488M  7.7M  480M    2% /run

tmpfs                488M     0  488M    0% /sys/fs/cgroup

/dev/sda1            197M  129M   68M   66% /boot

tmpfs                 98M     0   98M    0% /run/user/0

/dev/mapper/vg1-lv1  283M  2.1M  262M    1% /mnt

 

    二、xfs格式

不用卸载挂载点重新设置卷大小,但是要执行xfs_growfs命令才生效

lvresize -L  300M  /dev/vg1/lv1              #设置卷大小

[root@localhost ~]# umount /mnt

[root@localhost ~]# mkfs.xfs -f /dev/vg1/lv1        

#格式化必须要先卸载挂载点

meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=6400 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=25600, 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

[root@localhost ~]# lvresize -L 300M /dev/vg1/lv1

  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).

  Logical volume vg1/lv1 successfully resized.

 

mount /dev/vg1/lv1 /mnt                          #挂载逻辑卷

[root@localhost ~]# !mount

mount /dev/vg1/lv1 /mnt

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

/dev/sda3             28G  1.3G   27G    5% /

devtmpfs             477M     0  477M    0% /dev

tmpfs                488M     0  488M    0% /dev/shm

tmpfs                488M  7.7M  480M    2% /run

tmpfs                488M     0  488M    0% /sys/fs/cgroup

/dev/sda1            197M  129M   68M   66% /boot

tmpfs                 98M     0   98M    0% /run/user/0

/dev/mapper/vg1-lv1   97M  5.2M   92M    6% /mnt

 

xfs_growfs   /dev/vg1/lv1                       #xfs格式更新逻辑卷信息(必须将逻辑卷挂载才能成功)

[root@localhost ~]# xfs_growfs /dev/vg1/lv1

meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=6400 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=25600, 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 25600 to 76800

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

/dev/sda3             28G  1.3G   27G    5% /

devtmpfs             477M     0  477M    0% /dev

tmpfs                488M     0  488M    0% /dev/shm

tmpfs                488M  7.7M  480M    2% /run

tmpfs                488M     0  488M    0% /sys/fs/cgroup

/dev/sda1            197M  129M   68M   66% /boot

tmpfs                 98M     0   98M    0% /run/user/0

/dev/mapper/vg1-lv1  297M  5.5M  292M    2% /mnt

 

 

3、缩减逻辑卷(xfs不支持)

先umount掉挂载点,检查磁盘错误,更新逻辑卷信息,重新设置卷大小

 

e2fsck  -f /dev/vg1/lv1                    #检查磁盘错误(ext4)

[root@localhost ~]# umount /dev/vg1/lv1

[root@localhost ~]# e2fsck -f /deev/vg1/lv1

e2fsck 1.42.9 (28-Dec-2013)

第一步: 检查inode,块,和大小

第二步: 检查目录结构

第3步: 检查目录连接性

Pass 4: Checking reference counts

第5步: 检查簇概要信息

/dev/vg1/lv1: 11/76912 files (0.0% non-contiguous), 19977/307200 blocks

 

resize2fs   /dev/vg1/lv1  100M             #更新逻辑卷信息(ext4)

[root@localhost ~]# resize2fs !$ 100M

resize2fs /dev/vg1/lv1 100M

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.

The filesystem on /dev/vg1/lv1 is now 102400 blocks long.

 

lvresize -L  100M  /dev/vg1/lv1      #重新设置卷大小

[root@localhost ~]# lvresize -L 100M /dev/vg1/lv1

  WARNING: Reducing active logical volume to 100.00 MiB.

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce vg1/lv1? [y/n]: y

  Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).

  Logical volume vg1/lv1 successfully resized.

 

lvs                                 #查看逻辑卷大小

[root@localhost ~]# lvs

  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv1  vg1 -wi-a----- 100.00m    

mount   /dev/vg1/lv1 /mnt             #挂载      

[root@localhost ~]# mount /dev/vg1/lv1 /mnt

[root@localhost ~]# df -h

文件系统             容量  已用  可用 已用% 挂载点

/dev/sda3             28G  1.3G   27G    5% /

devtmpfs             477M     0  477M    0% /dev

tmpfs                488M     0  488M    0% /dev/shm

tmpfs                488M  7.7M  480M    2% /run

tmpfs                488M     0  488M    0% /sys/fs/cgroup

/dev/sda1            197M  129M   68M   66% /boot

tmpfs                 98M     0   98M    0% /run/user/0

/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt

 

4、扩展卷组

当逻辑卷满时,先新增分区,然后创建物理卷,再先扩容卷组,最后扩容逻辑卷就可以了

 

fdisk  /dev/sdb   

 

vgextend vg1  /dev/sdb3         #扩展卷组,将sdb3加入到vg1

[root@localhost ~]# vgextend vg1 /dev/sdb3

  Volume group "vg1" successfully extended

[root@localhost ~]# vgs

  VG  #PV #LV #SN Attr   VSize  VFree

  vg1   3   1   0 wz--n- <2.99g <2.70g

 

lvresize -L  100M  /dev/vg1/lv1  

#重新设置逻辑卷大小(大小<=卷组)

 

小技巧

yum provides “/*/命令”      

#当你不知道该命令的安装包名字,可以通过这条命令查看命令的安装包

 

 

4.13 磁盘故障小案例

 

想用永久挂载,在/etc/fstab/写了一行,然后重启发现进入不了系统,

一般是因为磁盘挂载出现问题,不能正常挂载到挂载点

先输入root密码,进入一个界面,vi  /etc/fstab,将之前挂载的那一行删掉,保存退出,然后reboot

 

 

 

4.14扩展:MBR、GPT 

    1、存储类型:

DAS、NAS、SAN三种普通存储的区别      (面试中常考的)   (iscsi协议不用掌握)

DAS(直连式存储):

通过iscsi协议,中间什么都不需要经过,用网线直连到物理服务器(直连)

#比方一个移动硬盘直接插到电脑上,这叫DAS

 

NAS(网络附加存储):

通过iscsi协议,通过走网络交换机,然后挂载到物理服务器          

#类似百度云、各种网盘,称为NAS共享

 

SAN(存储区域网络):

通过fc协议,通过走光纤交换机,直接挂载到物理服务器

#比方一个移动硬盘通过中间设备连接到电脑上,这叫SAN

 

NAS、DAS、SAN最根本区别是:

NAS上面有文件系统;DAS、SAN  没有文件系统

 

    2、分区概念

 

2.1 将一个磁盘逻辑的分为几个区,每个区当做独立磁盘,以方便使用和管理

不同分区的名称一般为:设备名称+分区号

例如:第一块硬盘的第一个分区叫sda1,第一块硬盘的第二个分区sda2

第二块硬盘的第一个分区叫sdb1,第二块硬盘的第二个分区叫sdb2

*分区并不是硬盘的物理功能,而是软件功能

*主流的分区机制分为MBR和GPT两种

MBR是PC架构计算机中使用的最为广泛的分区机制

 

    3、MBR

 

3.1 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS引导的PC设备(苹果使用EFI的方式);很多Server服务器即支持BIOS也支持EFI的引导方式

 

#早期的Linux系统采用MBR的方式来处理开机引导程序和分区表,这些通常放在磁盘的第一个扇区(512字节)中,但是MBR分区只能抓取2TB的容量等等的限制

 

3.2 MBR的特点

    3.2.1优点:MBR支持32bit和64bit系统;

    3.2.2缺点:

                1) MBR支持的分区数量有限制;

                2)MBR只支持不超过2TB的硬盘,超过2TB的硬盘只能使用2TB的空间(但是有第三方解决方法),应为MBR的寻址空间只有32bit长;

 

3.3 MBR结构:占用硬盘最开头的512字节

前446字节为:引导代码(Bootstrap Code Area)(引导不同的操作系统;不同操作系统,引导代码是不一样的)

接下来的为4个16字节:分别对应4个主分区表信息(Primary Partition Table)

最后2个字节:为启动标示(Boot Signature),永远都是55和AA;55和AA是个永久性的标示,代表这个硬盘是可启动的。

 

    4、MBR分区

MBR分区分为:主分区、扩展分区、逻辑分区

4.1 主分区:一块硬盘最多只能创建4个主分区(因为在MBR分区表结构中中最多可以创建4个主分区表信息,也就是4个16字节的空间,如上图)

4.2 扩展分区:一个扩展分区会占用一个主分区的位置

4.3 逻辑分区:

  1. 是基于扩展分区创建出来的,先有扩展分区,然后在扩展分区的基础上再创建逻辑分区;也就是说我们要使用逻辑分区,必须先要创建扩展分区;

  2. 扩展分区的空间是不能被直接使用的,我们必须在扩展分区的基础上去建立逻辑分区,才能够被使用;

  3. Linux最多支持63个IDE分区和15个SCSI分区

 

    5、GPT

GPT(GUID Partition Table):是一个较新的分区机制,解决了MBR的很多缺点

  1. 支持超过2TB的磁盘:GPT有64bit寻址空间;而MBR对硬盘空间地址寻址最多只支持32bit,2的32次方,硬盘空间是以地址方式来被识别的,所以MBR只支持容量为2TB以内的磁盘

  2. 向后兼容MBR

  3. 但是底层硬件必须支持UEFI(Intel提出的取代BIOS的新一代的引导系统)才能使用,也就是底层硬件必须使用UEFI

  4. 必须使用64位操作系统

  5. Mac、LInux系统都能支持GPT分区格式

  6. Windows 7 64bit、Windows Server2008 64bit支持GPT

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值