Linux文件系统与LVM精讲
一、管理文件系统
1、创建EXT4文件系统
mkfs(Make Filesystem)命令用于创建文件系统(格式化)。mkfs命令的基本语法格式如下:
1)mkfs应用举例
将/dev/sdb1分区格式化为EXT4文件系统。
<!--自行规划分区--> [ ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-83886079,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 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 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [ ~]# mkfs -t ext4 /dev/sdb1 <!--将/dev/sdb1格式化为EXT4文件系统--> [ ~]# 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 blocks 327680 inodes, 1310720 blocks 65536 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
2、创建Swap交换文件系统
使用mkswap命令创建交换文件系统;基本语法格式如下:
1)mkswap应用举例
将/dev/sdb2分区创建为交换分区。
[ ~]# mkswap /dev/sdb2 <!--将sdb2格式化为swap分区--> mkswap: /dev/sdb2: warning: wiping old swap signature. 正在设置交换空间版本 1,大小 = 5242876 KiB 无标签,UUID=a86ecd38-3058-4d92-9688-346cb9407915 [ ~]# cat /proc/meminfo | grep SwapTotal <!--查看swap分区大小--> SwapTotal: 4194300 kB [ ~]# swapon /dev/sdb2 <!--扩展swap分区--> [ ~]# cat /proc/meminfo | grep SwapTotal <!--查看扩展后的swap分区大小--> SwapTotal: 9437176 kB [ ~]# swapoff /dev/sdb2 <!--取消扩展swap分区--> [ ~]# cat /proc/meminfo | grep SwapTotal <!--查看取消扩展后的swap分区大小--> SwapTotal: 4194300 kB
3、挂载、卸载文件系统
1)挂载硬盘分区
mount命令挂载文件系统、ISO镜像;mount基本语法格式如下:
应用举例:
[ ~]# mkdir /sdb1 <!--创建挂载目录--> [ ~]# mount /dev/sdb1 /sdb1/ <!--挂载/dev/sdb1分区--> [ ~]# mount <!--查看挂载分区--> ………… <!--此处省略部分内容--> /dev/sdb1 on /sdb1 type ext4 (rw,relatime,data=ordered) [ ~]# df -Th <!--或者执行此命令查看--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.6G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 197M 136M 61M 70% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/sdb1 ext4 4.8G 20M 4.6G 1% /sdb1
2)卸载已挂载的硬盘分区
[ ~]# umount /sdb1/ <!--卸载已挂载的文件系统--> [ ~]# df -Th <!--验证是否卸载成功--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.7G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 197M 136M 61M 70% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0
3)挂载ISO镜像
[ ~]# ls anaconda-ks.cfg ansible.iso initial-setup-ks.cfg [ ~]# mount -o loop ansible.iso /mnt/ <!--挂载ISO镜像到指定目录--> mount: /dev/loop0 写保护,将以只读方式挂载 [ ~]# mount <!--查看挂载的ISO镜像--> ………… <!--此处省略部分内容--> /root/ansible.iso on /mnt type iso9660 (ro,relatime) [ ~]# df -Th <!--查看ISO镜像是否挂载成功--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.7G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 197M 136M 61M 70% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/loop0 iso9660 83M 83M 0 100% /mnt
4)卸载已挂载的ISO镜像
[ ~]# umount /mnt/ <!--卸载已挂载的ISO镜像--> [ ~]# df -Th <!--验证是否卸载成功--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.7G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 197M 136M 61M 70% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0
4、设置文件系统的自动挂载
/etc/fstab配置文件包含需要开机后自动挂载的文件系统记录;示例如下:
1)自动挂载硬盘分区
[ ~]# mkfs.ext4 /dev/sdb1 <!--将/dev/sdb1分区格式化为EXT4文件系统--> [ ~]# vim /etc/fstab <!--编辑开机自动挂载配置文件--> ………… /dev/sdb1 /sdb1 ext4 defaults 0 0 <!--添加自动挂载的硬盘分区及挂载目录--> [ ~]# df -Th <!--重启计算机查看是否自动挂载--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.6G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs 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% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 [ ~]# cat /proc/meminfo | grep SwapTotal <!--自动挂载swap分区--> SwapTotal: 4194300 kB [ ~]# vim /etc/fstab<!--编辑开机自动挂载配置文件--> ………… /dev/sdb1 /sdb1 ext4 defaults 0 0 /dev/sdb2 swap swap defaults 0 0 <!--添加此行--> [ ~]# cat /proc/meminfo | grep SwapTotal <!--重新启动计算机验证是否挂载成功--> SwapTotal: 9437176 kB
2)自动挂载ISO镜像
[ ~]# ls anaconda-ks.cfg ansible.iso initial-setup-ks.cfg [ ~]# mount -o loop ansible.iso /mnt/ <!--挂载ISO镜像--> mount: /dev/loop0 写保护,将以只读方式挂载 [ ~]# mount <!--查看挂载信息--> ………… /root/ansible.iso on /mnt type iso9660 (ro,relatime) <!--查看设备类型--> [ ~]# umount /mnt/ <!--卸载已挂载的ISO镜像--> [ ~]# 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 <!--添加此行--> [ ~]# df -Th <!--重启计算机验证ISO镜像是否自动挂载成功--> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.7G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs 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% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0
5、查看磁盘使用情况
df命令的基本语法格式如下:
应用举例如下:
[ ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 76G 3.7G 73G 5% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.0M 482M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 197M 136M 61M 70% /boot tmpfs 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”
[ ~]# 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
[ ~]# pvcreate /dev/sdb1 /dev/sdc1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created.
3)创建卷组vgcreate
[ ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1 Volume group "mail_store" successfully created
4)创建逻辑卷lvcreate
[ ~]# lvcreate -L 20G -n mbox mail_store Logical volume "mbox" created. [ ~]# mkfs -t ext4 /dev/mail_store/mbox mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 5242880 blocks 262144 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2153775104 160 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
5)为逻辑卷扩容
[ ~]# 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. [ ~]# [ ~]# 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.
———————— 本文至此结束,感谢阅读 ————————
相关推荐
zhjn0 2020-11-24
tianhuak 2020-11-24
farwang 2020-11-25
星愿心愿 2020-11-24
昭君出塞 2020-11-23
bluecarrot 2020-11-23
linuxwcj 2020-10-21
以梦为马不负韶华 2020-10-20
彼岸随笔 2020-10-20
yutou0 2020-10-17
applecarelte 2020-10-16
ourtimes 2020-10-16
waterhorse 2020-09-19
MRFENGG 2020-11-11
rainandtear 2020-10-30
kyssfanhui 2020-10-20
liuhangtiant 2020-10-20