如何在Linux分区或者逻辑卷上创建文件系统
在本文中,我将分享在Linux分区或者逻辑卷上创建文件系统并将其持久或者非持久地安装在Linux系统中的步骤。
在UNIX系统上,所有内容都是文件;如果某事不是文件,那是一个进程。
这句话是正确的,因为有一些特殊的文件不仅仅是文件(例如,命名为管道和套接字),而且为了简单起见,说一切都是文件是可以接受的概括。
与UNIX一样,Linux系统在文件和目录之间没有区别,因为目录只是包含其他文件名的文件。
程序,服务,文本,图像等都是文件。
根据系统,输入和输出设备(通常是所有设备)被视为文件。
在计算中,文件系统控制数据的存储和检索方式,并帮助组织存储介质上的文件。
没有文件系统,存储中的信息将是一大块数据,我们无法分辨一条信息其中停止而另一条信息其中开始。
文件系统通过为文件中存储数据的文件提供名称并在文件系统中的磁盘上维护文件和目录表(以及它们的开始/结束位置,总大小等)来帮助管理所有这些。
创建文件系统
在创建文件系统之前,我们需要一个分区。
为了本文的目的,我在虚拟机中添加了一个虚拟磁盘,并"创建了一个分区"/dev/sdb。
我们可以使用以下命令验证可用分区的列表
[root@node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 27.5G 0 part ├─centos-root 253:0 0 25.5G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 2G 0 disk └─sdb1 8:17 0 2G 0 part sr0 11:0 1 1024M 0 rom
我们还可以使用lsblk获取可用磁盘和分区的列表。
[root@node1 ~]# cat /proc/partitions major minor #blocks name 11 0 1048575 sr0 8 0 31457280 sda 8 1 524288 sda1 8 2 28844032 sda2 8 16 2097152 sdb 8 17 2096128 sdb1 253 0 26738688 dm-0 253 1 2097152 dm-1 9 0 2094080 md0
确定要创建哪种文件系统,例如ext4,XFS或者其他任何文件。
以下是一些选择:
[root@node1 ~]# mkfs. mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
对于本文,我将使用mkfs.ext4
创建ext4类型的文件系统。
[root@node1 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 524032 blocks 26201 blocks (5.00%) reserved for the super user First data block=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: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
说明:
如果我们希望使用其他文件系统,请在上述步骤中使用相应的命令。
挂载文件系统
使用mkfs创建文件系统后,必须将其安装在操作系统中才能使用它来存储数据。
首先,确定新文件系统的UUID。
发出" blkid"命令以列出所有已知的块存储设备,并在输出中查找"/dev/sdb1":
[root@node1 ~]# blkid /dev/sdb1 /dev/sdb1: UUID="dac636ff-cde2-4f26-8bfc-a2d7b7ab5aa4" TYPE="ext4"
为此新创建的文件系统创建安装点
[root@node1 ~]# mkdir /mount_point_for_sdb1
接下来,将分区/dev/sdb1
挂载到该挂载点
[root@node1 ~]# mount -t ext4 /dev/sdb1 /mount_point_for_sdb1
df -h命令显示在哪个挂载点上挂载了哪个文件系统。
[root@node1 ~]# df -h /mount_point_for_sdb1 Filesystem Size Used Avail Use% Mounted on /dev/sdb1 2.0G 6.0M 1.9G 1% /mount_point_for_sdb1
用在blkid
命令中标识的UUID
替换它。
另外,请注意,创建了一个新目录以将/dev/sdb1
挂载在/mount_point_for_sdb1
下。
直接在命令行上使用mount命令的问题(如上一步中所述)是,挂载在重新启动后不会持久。
要持久地挂载文件系统,请编辑/etc/fstab
文件以包括挂载信息:
UUID=dac636ff-cde2-4f26-8bfc-a2d7b7ab5aa4 /mount_point_for_sdb1 ext4 defaults 0 0
编辑/etc/fstab
之后,我们可以卸载/mnt/mount_point_for_dev_sda1
并运行命令mount -a
来装载/etc/fstab
中列出的所有内容。
[root@node1 ~]# umount /mount_point_for_sdb1/
接下来检查/dev/sdb1
是否正确卸载
[root@node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 25G 4.0G 20G 17% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 9.2M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 488M 198M 255M 44% /boot tmpfs 379M 12K 379M 1% /run/user/42 tmpfs 379M 0 379M 0% /run/user/0
下一步运行mount -a挂载在fstab中声明的所有分区。
[root@node1 ~]# mount -a
如果一切顺利,我们仍可以列出df -h
并查看已挂载的文件系统:
[root@node1 ~]# df -h /mount_point_for_sdb1/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 2.0G 6.0M 1.9G 1% /mount_point_for_sdb1