千家信息网

Linux文件系统与LVM精讲

发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,一、管理文件系统1、创建EXT4文件系统mkfs(Make Filesystem)命令用于创建文件系统(格式化)。mkfs命令的基本语法格式如下:1)mkfs应用举例将/dev/sdb1分区格式化为E
千家信息网最后更新 2024年10月22日Linux文件系统与LVM精讲

一、管理文件系统

1、创建EXT4文件系统

mkfs(Make Filesystem)命令用于创建文件系统(格式化)。mkfs命令的基本语法格式如下:

1)mkfs应用举例

将/dev/sdb1分区格式化为EXT4文件系统。

         [root@centos01 ~]# fdisk /dev/sdb   欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-83886079,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+5G      分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xd459c569   设备 Boot      Start         End      Blocks   Id  System/dev/sdb1            2048    10487807     5242880   83  Linux命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@centos01 ~]# mkfs -t ext4 /dev/sdb1 [root@centos01 ~]# mkfs.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 blocks327680 inodes, 1310720 blocks65536 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=134217728040 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912, 819200, 884736Allocating group tables: 完成                            正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成

2、创建Swap交换文件系统

使用mkswap命令创建交换文件系统;基本语法格式如下:

1)mkswap应用举例

将/dev/sdb2分区创建为交换分区。

[root@centos01 ~]# mkswap /dev/sdb2  mkswap: /dev/sdb2: warning: wiping old swap signature.正在设置交换空间版本 1,大小 = 5242876 KiB无标签,UUID=a86ecd38-3058-4d92-9688-346cb9407915[root@centos01 ~]# cat /proc/meminfo | grep SwapTotal  SwapTotal:       4194300 kB[root@centos01 ~]# swapon /dev/sdb2      [root@centos01 ~]# cat /proc/meminfo | grep SwapTotal        SwapTotal:       9437176 kB[root@centos01 ~]# swapoff /dev/sdb2 [root@centos01 ~]# cat /proc/meminfo | grep SwapTotal          SwapTotal:       4194300 kB

3、挂载、卸载文件系统

1)挂载硬盘分区

mount命令挂载文件系统、ISO镜像;mount基本语法格式如下:

应用举例:

[root@centos01 ~]# mkdir /sdb1       [root@centos01 ~]# mount /dev/sdb1 /sdb1/   [root@centos01 ~]# mount     …………      /dev/sdb1 on /sdb1 type ext4 (rw,relatime,data=ordered) [root@centos01 ~]# df -Th      文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.6G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0/dev/sdb1      ext4      4.8G   20M  4.6G    1% /sdb1

2)卸载已挂载的硬盘分区

[root@centos01 ~]# umount /sdb1/   [root@centos01 ~]# df -Th        文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.7G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0

3)挂载ISO镜像

[root@centos01 ~]# lsanaconda-ks.cfg  ansible.iso  initial-setup-ks.cfg[root@centos01 ~]# mount -o loop ansible.iso /mnt/            mount: /dev/loop0 写保护,将以只读方式挂载[root@centos01 ~]# mount     …………      /root/ansible.iso on /mnt type iso9660 (ro,relatime)[root@centos01 ~]# df -Th      文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.7G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0/dev/loop0     iso9660    83M   83M     0  100% /mnt

4)卸载已挂载的ISO镜像

[root@centos01 ~]# umount /mnt/   [root@centos01 ~]# df -Th          文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.7G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0

4、设置文件系统的自动挂载

/etc/fstab配置文件包含需要开机后自动挂载的文件系统记录;示例如下:

1)自动挂载硬盘分区

[root@centos01 ~]# mkfs.ext4 /dev/sdb1         [root@centos01 ~]# vim /etc/fstab  …………/dev/sdb1                                /sdb1                    ext4    defaults        0 0         [root@centos01 ~]# df -Th    文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.6G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sdb1      ext4      4.8G   20M  4.6G    1% /sdb1/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0[root@centos01 ~]# cat /proc/meminfo | grep SwapTotal                    SwapTotal:       4194300 kB[root@centos01 ~]# vim /etc/fstab…………/dev/sdb1                                 /sdb1                   ext4    defaults        0 0   /dev/sdb2                                 swap                    swap    defaults        0 0       [root@centos01 ~]# cat /proc/meminfo | grep SwapTotal               SwapTotal:       9437176 kB

2)自动挂载ISO镜像

[root@centos01 ~]# lsanaconda-ks.cfg  ansible.iso  initial-setup-ks.cfg[root@centos01 ~]# mount -o loop ansible.iso /mnt/ mount: /dev/loop0 写保护,将以只读方式挂载[root@centos01 ~]# mount    …………/root/ansible.iso on /mnt type iso9660 (ro,relatime)  [root@centos01 ~]# umount /mnt/  [root@centos01 ~]# vim /etc/fstab …………/dev/sdb1                                 /sdb1                   ext4    defaults        0 0   /dev/sdb2                                 swap                    swap    defaults        0 0/root/ansible.iso                         /mnt                   iso9660  defaults        0 0       [root@centos01 ~]# df -Th                文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.7G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/loop0     iso9660    83M   83M     0  100% /mnt/dev/sdb1      ext4      4.8G   20M  4.6G    1% /sdb1/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0

5、查看磁盘使用情况

df命令的基本语法格式如下:

应用举例如下:

[root@centos01 ~]# df -Th文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda3      xfs        76G  3.7G   73G    5% /devtmpfs       devtmpfs  474M     0  474M    0% /devtmpfs          tmpfs     489M     0  489M    0% /dev/shmtmpfs          tmpfs     489M  7.0M  482M    2% /runtmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup/dev/sda1      xfs       197M  136M   61M   70% /boottmpfs          tmpfs      98M     0   98M    0% /run/user/0

二、管理LVM逻辑卷

1、LVM概述

Logical Volume Manager,逻辑卷管理。

1)LVM作用

动态调整磁盘容量,从而提高磁盘管理的灵活性。注意:/boot分区用于存放引导文件,不能基于LVM创建。

2)图形界面管理工具

system-config-lvm

2、LVM机制的基本概念

PV(Physical Volume,物理卷):整个硬盘,或使用fdisk等工具建立的普通分区;包括许多默认4MB大小的PE(Physical Extent,基本单元)。
VG(Volume Group,卷组):一个或多个物理卷组合而成的整体。
LV(Logical Volume,逻辑卷):从卷组中分割出的一块空间,用于建立文件系统。

3、LVM的管理命令

1)常见的LVM管理命令

2)管理LVM的主要命令

4、LVM应用案例

1)自行添加两块硬盘,使用fdisk命令规划两个分区,将类型设置为"8e"

[root@centos01 ~]# fdisk -l /dev/sdb /dev/sdc | grep "LVM"/dev/sdb1            2048    83886079    41942016   8e  Linux LVM/dev/sdc1            2048    83886079    41942016   8e  Linux LVM

2)创建物理卷pvcreate

[root@centos01 ~]# pvcreate /dev/sdb1 /dev/sdc1  Physical volume "/dev/sdb1" successfully created.  Physical volume "/dev/sdc1" successfully created.

3)创建卷组vgcreate

[root@centos01 ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1  Volume group "mail_store" successfully created

4)创建逻辑卷lvcreate

[root@centos01 ~]# lvcreate -L 20G -n mbox mail_store  Logical volume "mbox" created.[root@centos01 ~]# mkfs -t ext4 /dev/mail_store/mboxmke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks1310720 inodes, 5242880 blocks262144 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=2153775104160 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,     4096000Allocating group tables: 完成                            正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成   

5)为逻辑卷扩容

[root@centos01 ~]# lvextend -L +5G /dev/mail_store/mbox   Size of logical volume mail_store/mbox changed from 20.00 GiB (5120 extents) to 25.00 GiB (6400 extents).  Logical volume mail_store/mbox successfully resized.[root@centos01 ~]# [root@centos01 ~]# resize2fs /dev/mail_store/mbox resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/mail_store/mbox to 6553600 (4k) blocks.The filesystem on /dev/mail_store/mbox is now 6553600 blocks long.

-------- 本文至此结束,感谢阅读 --------

0