Linux系统管理——文件系统与LVM

一、创建文件系统 mkfs、mkswap 命令

1、mkfs 命令
① 作用 :创建文件系统 (格式化)Make Filesystem
② 格式 :mkfs -t 文件系统类型 分区设备
③ 常用选项 :

  • -t :指定格式化文件类型
  • -b :指定 block 大小,单位为字节
  • -I :inode 大小
  • -U :设置 UUID 号
  • -q :执行时不显示任何信息

示例 :

[root@localhost ~]# mkfs 【俩次tab键】【列出m开头的所有命令】
mkfs mkfs.ext2 mkfs.ext4 mkfs.msdos
mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.vfat
[root@localhost ~]# fdisk -l /dev/sdb 【查看sdb的分区】
WARNING: GPT (GUID Partition Table) detected on ‘/dev/sdb’! The util fdisk doesn’t support GPT. Use GNU Parted.
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 83 Linux
/dev/sdb2 655 1308 5253255 83 Linux
/dev/sdb4 1309 2610 10458315 5 Extended
/dev/sdb5 1309 1440 1060258+ 82 Linux swap / Solaris
/dev/sdb6 1441 2610 9397993+ 83 Linux
[root@localhost ~]# mkfs -t ext4 /dev/sdb1 【格式化sdb1】
[root@localhost ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
328656 inodes, 1313305 blocks
65665 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1346371584
41 block groups
32768 blocks per group, 32768 fragments per group
8016 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# mkfs.ext4 /dev/sdb2 【格式化sdb2】
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
305216 inodes, 1220864 blocks
61043 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1254096896
38 block groups
32768 blocks per group, 32768 fragments per group
8032 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# mkfs.ext4 /dev/sdb6
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
587520 inodes, 2349498 blocks
117474 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2407530496
72 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
正在写入inode表: 完成
Creating journal (32768 blocks): ^[[A完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

2、mkswap 命令
(1)作用:创建交换文件系统
(2)格式;mkswap 分区设备

示例 :

[root@localhost ~]# mkswap /dev/sdb5 【格式化sdb5】
Setting up swapspace version 1, size = 1060252 KiB
no label, UUID=1ddf69bd-ea71-4d63-a81a-128e2a324744
[root@localhost ~]# swapon -s 【开启格式化好的分区】
Filename Type Size Used Priority
/dev/dm-1 partition 203160-1
[root@localhost ~]# cat /proc/meminfo | grep -i “swaptotal”
SwapTotal: 2031608 kB
[root@localhost ~]# mkswap /dev/sdb5 【格式化sdb5】
Setting up swapspace version 1, size = 1060252 KiB
no label, UUID=41aeef7c-7a8f-4248-ad1d-603745d90c7f
[root@localhost ~]# swapon /dev/sdb5
[root@localhost ~]# swapon -s 【开启格式化好的分区】
Filename Type Size Used Priority
/dev/dm-1 partition 203160-1
/dev/sdb5 partition 106024-2
[root@localhost ~]# cat /proc/meminfo |grep -i “swaptotal”
SwapTotal: 3091856 kB

二、挂载文件系统、ISO 镜像 mount 命令

1、作用 :挂载文件系统、ISO镜像
2、格式 :

  • mount [-t 类型] 存储设备 挂载点目录
  • mount -o -loop ISO 镜像文件 挂载点目录
  • mount 查看当前的挂载
  • mount -a 挂载 /etc/fstab 中已记载的所有挂载

例 :

[root@localhost ~]# mkdir /{diangying,xuexi,youxi} 【创建目录】
[root@localhost ~]# mount /dev/sdb1 /dianying 【查看电影的挂载】
[root@localhost ~]# mount /dev/sdb2 /xuexi
[root@localhost ~]# mount /dev/sdb6 /youxi/
[root@localhost ~]# mkdir /dabaicai 【创建目录】
[root@localhost ~]# mount -o loop /root/FreeNAS-8.0.2-RELEASE-i386.iso /dabaicai 【挂载镜像到大白菜中】
[root@localhost ~]# ls /dabaicai 【查看大白菜列表】
boot data FreeNAS-i386-embedded.xz
[root@localhost ~]# df -hT 【查看当前文件的参数】
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 37G 3.5G 32G 10% /
tmpfs tmpfs 491M 224K 491M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
/dev/sdb1 ext4 5.0G 139M 4.6G 3% /diangying
/dev/sdb2 ext4 5.0G 139M 4.6G 3% /xuexi
/root/FreeNAS-8.0.2-RELEASE-i386.iso iso9660 103M 103M 0 100% /dabaicai

三、卸载已挂载的文件系统umount命令

1 、作用 :卸载已挂载的文件系统
2 、格式 :

  • umount 存储设备位置
  • umount 挂载点目录
  • umount -a 卸载所有 /etc/fstab 已记录的挂载

例 :

   [root@localhost ~]# umount /dev/sdb1 【卸载sdb1里的挂载】
    [root@localhost ~]# umount /xuexi 【卸载学习里的挂载】
    [root@localhost ~]# umount -a 【卸载所有/etc/fstab已记录的挂载】
    umount: /dev/shm: device is busy.
    (In some cases useful info about processes that use
    the device is found by lsof(8) or fuser(1))
    umount: /: device is busy.
    (In some cases useful info about processes that use
    the device is found by lsof(8) or fuser(1))
    [root@localhost ~]# df -hT 【查看当前文件的参数】
    Filesystem Type Size Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root ext4 37G 3.5G 32G 10% /
    tmpfs tmpfs 491M 224K 491M 1% /dev/shm

四、设置文件系统的自动挂载 /etc/fsrab 文件

例

    [root@localhost ~]# mkfs.ext4 /dev/sdb6 【格式sdb6】
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    587520 inodes, 2349498 blocks
    117474 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2407530496
    72 block groups
    32768 blocks per group, 32768 fragments per group
    8160 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    正在写入inode表: 完成
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    This filesystem will be automatically checked every 34 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
    [root@localhost ~]# vim /etc/fstab 【编辑fstab】

#/etc/fstab
#Created by anaconda on Wed Mar 6 00:45:10 2019

#Accessible filesystems, by reference, are maintained under '/dev/disk’
#See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=a85ad1d5-a121-42a5-83e1-a1662002af50 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /diangying ext4 defaults 0 0
/dev/sdb2 /xuexi ext4 defaults 0 0
/dev/sdb6 /youxi ext4 defaults 0 0
“/etc/fstab” 18L, 894C
[root@localhost ~]# mount -a 【卸载所有/etc/fstab已记录的挂载】

五、查看磁盘使用情况 df 命令

1、作用 :查看磁盘使用情况
2、格式 : df [选项] [文件]
3、常用选项 :

  • -h :显示更易读的容量单位
  • -T :显示对应文件系统的类型
  • -i :显示 inode 数量

[root@localhost ~]# df -hT 【查看当前文件的参数】
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 37G 3.5G 32G 10% /
tmpfs tmpfs 491M 224K 491M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/sdb1 ext4 5.0G 139M 4.6G 3% /diangying
/dev/sdb2 ext4 5.0G 139M 4.6G 3% /xuexi
/dev/sdb6 ext4 8.9G 149M 8.3G 2% /youxi
[root@localhost ~]# df -i /dev/sdb1 【查看sdb1中引索节点(inode)的数量】
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 328656 11 328645 1% /diangying

六、查看分区的UUID 号 blkid 命令

1、UUID 号 :分区必须格式化后才会有 UUID 号

2、格式 :blkid 分区设备

示例

[root@localhost ~]# tail -2 /etc/fstab
/dev/sdb2 /xuexi ext4 defaults 0 0
/dev/sdb6 /youxi ext4 defaults 0 0
[root@localhost ~]# blkid /dev/sdb6
/dev/sdb6: UUID=“a3e7f8e7-8404-4a47-8017-e08b0b7db0c2” TYPE=“ext4”
[root@localhost ~]# blkid /dev/sdb6>>/etc/fstab
[root@localhost ~]# vim /etc/fstab

#/etc/fstab
#Created by anaconda on Wed Mar 6 00:45:10 2019

#Accessible filesystems, by reference, are maintained under '/dev/disk’
#See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=a85ad1d5-a121-42a5-83e1-a1662002af50 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /diangying ext4 defaults 0 0
/dev/sdb2 /xuexi ext4 defaults 0 0
UUID=a3e7f8e7-8404-4a47-8017-e08b0b7db0c2 /youxi ext4 defaults 1 2 【在此输入】
“/etc/fstab” 18L, 930C
保存退出

管理 LVM 逻辑卷

1、什么是LVM:
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。

2、为什么使用LVM
直接使用fdisk分区挂载的话,随着时间的推移,数据量越来越大,硬盘空间越来越小,要想扩充容量的话,就必须挂载新硬盘然后做数据迁移,这就必然导致前台业务的停止,不符合企业需求,因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。Linux提供的逻辑盘卷管理(LVM,Logical Volume Manager)机制就是一个完美的解决方案。
LVM逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷,大大提高了磁盘管理的灵活性。

3、LVM原理:
-----首先我们讨论一下几个LVM术语:

  • 物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
  • 物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
  • 卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
  • 逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
  • PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
  • LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

一块硬盘(物理存储介质)被格式化为物理卷(physical volume),其内部被分成若干个默认大小为4M的PE(physical extent),然后在PV的基础上创建卷组(Volume Group),可以把一个或者多个PV加到VG中,VG就好像一个空间池,假如多少个PV,VG就有多大的容量,最后基于VG创建逻辑卷(logical volume) ,一个逻辑卷就是若干个PE,然后将LV格式化再挂载(将LV当成是分区)

Linux系统管理——文件系统与LVM_第1张图片 ①、物理磁盘被格式化为PV,空间被分为一个个PE

②、不同的PV加入同一个VG,不同PV的PE全部进入VG的PE池内

③、LV基于PE创建,大小为PE的整数倍,组成LV的PE可能自来不同的物理磁盘

④、LV现在就直接可以格式化后挂载使用了

⑤、LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量,其过程不会丢失数据

4、实现LVM

第一步:创建物理卷(PV)

pvcreate 硬盘名称

pvcreate /dev/sdb /dev/sdc
 可以通过pvdisplay或者pvs命令来查看创建的物理卷

Linux系统管理——文件系统与LVM_第2张图片第二步:创建一个卷组(VG),将物理卷加入卷组中

vgcreate 自定义VG名称 要加入的PV

vgcreate VGName /dev/sdb /dev/sdc

可以通过vgdisplay或vgs来查看创建的卷组

Linux系统管理——文件系统与LVM_第3张图片至此,物理卷和卷组已经创建成功,但是硬盘空间还不能使用,我们还需要创建逻辑卷。

第三步:基于卷组创建逻辑卷(LV)

lvcreate -n 自定义逻辑卷名称 -L 要创建的逻辑卷的大小 VG名称

lvcreate -n LVName -L 3G VGName

可以使用命令lvs或lvdisplay查看lv的详细信息

Linux系统管理——文件系统与LVM_第4张图片

第四步:为创建好的逻辑卷创建文件系统

mkfs.ext4 /dev/VGName/LVName

Linux系统管理——文件系统与LVM_第5张图片
第五步:挂载LV

mount /dev/VGName/LVName /mnt

Linux系统管理——文件系统与LVM_第6张图片至此,逻辑卷就创建挂载好了,可以使用啦~!

删除LV

lvremove 逻辑卷名称

lvremove /dev/vgTest/lvTest

Linux系统管理——文件系统与LVM_第7张图片删除VG

vgremove vg名称

vgremove vgTest

在这里插入图片描述
删除PV

pvremove pv名称

pvremove /dev/sdb /dev/sdc

Linux系统管理——文件系统与LVM_第8张图片
注意:删除逻辑卷的过程一定是

卸载挂载—删除lv—删除vg—删除pv

拉伸与缩小LVM

LVM和其他的分区方式最大的优势就是可以动态的拉伸或缩小逻辑卷空间,并且是在线执行的,拉伸并不会影响原有数据无需下线,缩小逻辑卷需要下线,如果直接缩小,数据则有可能被破坏

拉伸LV:

1、保证VG中有足够的空闲空间

vgdisplay

2、扩充逻辑卷

lvextend -L +1G /dev/vgTest/lvTest

3、查看扩充后的lv的大小

lvdisplay

Linux系统管理——文件系统与LVM_第9张图片
4、更新文件系统

resize2fs /dev/vgTest/lvTest

5、查看更新后的文件系统

df -h

Linux系统管理——文件系统与LVM_第10张图片拉伸VG

当逻辑卷空间不够的时候,我们可以扩充逻辑卷,其实质就是从VG中拿若干PE到LV中,但是当VG中空间也不够时,我们就需要拓展VG,也就是将新硬盘格式化为PV添加到VG中

1、将要添加到VG的硬盘格式化为PV

pvcreate /dev/sdd

在这里插入图片描述
2、将新的PV添加到指定卷组中

vgextend linuxcast /dev/sdd

3、查看扩充后的VG

vgs

Linux系统管理——文件系统与LVM_第11张图片
缩小逻辑卷

逻辑卷的缩小必须离线,需要卸载逻辑卷,如果在线缩小,则有可能丢失数据,先缩小文件系统,再缩小LV

1、卸载已经挂载的逻辑卷

2、缩小文件系统

resize2fs 需要缩小的文件系统 缩小到的大小

resize2fs /dev/linuxcast/mylv 10G

Linux系统管理——文件系统与LVM_第12张图片3、缩小LV

lvreduce -L 缩小大小 缩小的LV

Linux系统管理——文件系统与LVM_第13张图片

4、查看缩小后的LV

5、挂载

缩小卷组

1、将一个PV从指定的卷组中移除

vgreduce 卷组名称 硬盘名称

vgreduce linuxcast /dev/sdd

2、查看缩小后的卷组

vgdisplay

Linux系统管理——文件系统与LVM_第14张图片

原文链接:https://blog.csdn.net/weixin_44879253/article/details/90105156

你可能感兴趣的:(Linux系统管理——文件系统与LVM)