在Linux分区或逻辑卷中创建文件系统的方法

前言

学习在你的系统中创建一个文件系统,并且长期或者非长期地挂载它。

在计算技术中,文件系统控制如何存储和检索数据,并且帮助组织存储媒介中的文件。如果没有文件系统,信息将被存储为一个大数据块,而且你无法知道一条信息在哪结束,下一条信息在哪开始。文件系统通过为存储数据的文件提供名称,并且在文件系统中的磁盘上维护文件和目录表以及它们的开始和结束位置、总的大小等来帮助管理所有的这些信息。

在 Linux 中,当你创建一个硬盘分区或者逻辑卷之后,接下来通常是通过格式化这个分区或逻辑卷来创建文件系统。这个操作方法假设你已经知道如何创建分区或逻辑卷,并且你希望将它格式化为包含有文件系统,并且挂载它。

创建文件系统

假设你为你的系统添加了一块新的硬盘并且在它上面创建了一个叫 /dev/sda1 的分区。

1、为了验证 Linux 内核已经发现这个分区,你可以 cat 出 /proc/partitions 的内容,就像这样:

[root@localhost ~]# cat /proc/partitions
major minor #blocks name

 253   0 10485760 vda
 253   1  8192000 vda1
 11   0  1048575 sr0
 11   1  374 sr1
 8   0 10485760 sda
 8   1 10484736 sda1
 252   0  3145728 dm-0
 252   1  2097152 dm-1
 252   2  1048576 dm-2
 8 16  1048576 sdb

2、决定你想要去创建的文件系统种类,比如 ext4、XFS,或者其他的一些。这里是一些可选项:

[root@localhost ~]# mkfs.<tab><tab>
mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs

3、为了这次练习的目的,选择 ext4。(我喜欢 ext4,因为如果你需要的话,它可以允许你去压缩文件系统,这对于 XFS 并不简单。)这里是完成它的方法(输出可能会因设备名称或者大小而不同):

[root@localhost ~]# mkfs.ext4 /dev/sda1
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=8191 blocks
194688 inodes, 778241 blocks
38912 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=799014912
24 block groups
32768 blocks per group, 32768 fragments per group
8112 inodes per group
Superblock backups stored on blocks:
  32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

4、在上一步中,如果你想去创建不同的文件系统,请使用不同变种的 mkfs 命令。

挂载文件系统

当你创建好文件系统后,你可以在你的操作系统中挂载它。

1、首先,识别出新文件系统的 UUID 编码。使用 blkid 命令列出所有可识别的块存储设备并且在输出信息中查找 sda1 :

[root@localhost ~]# blkid
/dev/vda1: UUID="716e713d-4e91-4186-81fd-c6cfa1b0974d" TYPE="xfs"
/dev/sr1: UUID="2019-03-08-16-17-02-00" LABEL="config-2" TYPE="iso9660"
/dev/sda1: UUID="wow9N8-dX2d-ETN4-zK09-Gr1k-qCVF-eCerbF" TYPE="LVM2_member"
/dev/mapper/test-test1: PTTYPE="dos"
/dev/sda1: UUID="ac96b366-0cdd-4e4c-9493-bb93531be644" TYPE="ext4"
[root@localhost ~]#

2、运行下面的命令挂载 /dev/sd1 设备:

[root@localhost ~]# mkdir /mnt/mount_point_for_dev_sda1
[root@localhost ~]# ls /mnt/
mount_point_for_dev_sda1
[root@localhost ~]# mount -t ext4 /dev/sda1 /mnt/mount_point_for_dev_sda1/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 7.9G 920M 7.0G 12% /
devtmpfs 443M 0 443M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 30M 434M 7% /run
tmpfs 463M 0 463M 0% /sys/fs/cgroup
tmpfs 93M 0 93M 0% /run/user/0
/dev/sda1 2.9G 9.0M 2.7G 1% /mnt/mount_point_for_dev_sda1
[root@localhost ~]#

命令 df -h 显示了每个文件系统被挂载的挂载点。查找 /dev/sd1 。上面的挂载命令使用的设备名称是 /dev/sda1 。用 blkid 命令中的 UUID 编码替换它。注意,在 /mnt 下一个被新创建的目录挂载了 /dev/sda1 。

3、直接在命令行下使用挂载命令(就像上一步一样)会有一个问题,那就是挂载不会在设备重启后存在。为使永久性地挂载文件系统,编辑 /etc/fstab 文件去包含你的挂载信息:

UUID=ac96b366-0cdd-4e4c-9493-bb93531be644 /mnt/mount_point_for_dev_sda1/ ext4 defaults 0 0

4、编辑完 /etc/fstab 文件后,你可以 umount /mnt/mount_point_for_fev_sda1 并且运行 mount -a 命令去挂载被列在 /etc/fstab 文件中的所有设备文件。如果一切顺利的话,你可以使用 df -h 列出并且查看你挂载的文件系统:

root@localhost ~]# umount /mnt/mount_point_for_dev_sda1/
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 7.9G 920M 7.0G 12% /
devtmpfs 443M 0 443M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 30M 434M 7% /run
tmpfs 463M 0 463M 0% /sys/fs/cgroup
tmpfs 93M 0 93M 0% /run/user/0
/dev/sda1 2.9G 9.0M 2.7G 1% /mnt/mount_point_for_dev_sda1

5、你也可以检测文件系统是否被挂载:

[root@localhost ~]# mount | grep ^/dev/sd
/dev/sda1 on /mnt/mount_point_for_dev_sda1 type ext4 (rw,relatime,seclabel,stripe=8191,data=ordered)

现在你已经知道如何去创建文件系统并且长期或者非长期的挂载在你的系统中。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • Linux新技术对象存储文件系统

    随着高性能计算由传统的主机方式向网络化集群演变,传统的基于主机的存储架构已逐渐向网络化存储发展,计算和存储分离的趋势越来越明显.针对 SAN 和 NAS 的不足,国际上已开展针对 Linux 集群的新型文件系统――对象存储文件系统的研究,本文重点论述了存储对象文件系统的架构.技术特点,并针对Lustre 对象存储文件系统进行了初步测试,结果表明对象存储文件系统在可扩展性.性能.易用性等方面都有显著提高,随着网络化存储技术的不断成熟,对象存储文件系统将成为重要的发展方向. 一.引言 高性能计算已由

  • 详细分析Linux文件系统

    本片文章针对Linux文件系统从原理到运行机制做了非常详细的理论分析,有助于读者对此深入的理解,以下是具体内容: Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础--硬盘开始,一步步认识Linux的文件系统. 1.机械硬盘的物理存储机制 现代计算机大部分文件存储功能都是由机械硬盘这种设备提供的.(现在的SSD和闪存从概念和逻辑上都部分继承自机械硬盘,所以使用机械硬盘来进行理解也是没有问题的) 机械硬盘能

  • linux系统之间通过nfs网络文件系统挂载设置方法

    NFS简介 NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. NFS好处 以下是NFS最显而易见的好处: 1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到. 2.用户不必在每个网络上机器里头都有一个home目录.Home目录 可以被放在NFS服务

  • Linux环境下使用GFS文件系统

    GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备.由于GFS是日志文件系统,所以,如果将其应用到单独的一台计算机上,即完全等同于 本地日志文件系统,享受日志文件系统带来的好处.本文便向各位简介GFS文件系统在linux环境下的使用. 一.下载与编译 GFS文件系统以前是一个源代码完全公开的项目,直至版本为GFS-4.2.0时都可以下载到源代码.笔者在写这一篇文章时,下载到了GFS4.2.0的源代码,但是现在再也无法下载到GFS4.2.0以后的代码了,因为GFS开始收

  • linux查看文件系统块大小与内存页大小的简单方法

    一:查看文件系统块大小 sudo /sbin/tune2fs -l /dev/sda1|grep "Block size" 需要注意到系统可能有多个盘多个文件系统,可通过df命令查看 数值单位是字节,如图示: 二:查看内存页大小 getconf PAGESIZE 数值单位是字节,如图示: 以上就是小编为大家带来的linux查看文件系统块大小与内存页大小的简单方法全部内容了,希望大家多多支持我们~

  • Linux环境下使用XFS文件系统

    XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮.所幸的是SGI将其移植到了Lin ux系统中.在linux环境下.目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下. 一.XFS文件系统简介 主要特性包括以下几点: 数据完全性 采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了.不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁

  • Linux中对lvm逻辑卷分区大小的调整教程(针对xfs与ext4不同文件系统)

    前言 当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间.如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建.检查.调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录: -------------------------------------------------------------

  • 查看linux文件系统块大小的实现方法

    在linux系统上,可以用命令tune2fs ,测试如下 [root@localhost test10g]# tune2fs -help tune2fs 1.35 (28-Feb-2004) tune2fs: invalid option -- h Usage: tune2fs [-c max-mounts-count] [-e errors-behavior] [-g group] [-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s

  • linux文件系统调整大小的方法(linux调整分区大小)

    在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是"拆东墙, 补西墙"的方法. 当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了. 准备

  • 在Linux分区或逻辑卷中创建文件系统的方法

    前言 学习在你的系统中创建一个文件系统,并且长期或者非长期地挂载它. 在计算技术中,文件系统控制如何存储和检索数据,并且帮助组织存储媒介中的文件.如果没有文件系统,信息将被存储为一个大数据块,而且你无法知道一条信息在哪结束,下一条信息在哪开始.文件系统通过为存储数据的文件提供名称,并且在文件系统中的磁盘上维护文件和目录表以及它们的开始和结束位置.总的大小等来帮助管理所有的这些信息. 在 Linux 中,当你创建一个硬盘分区或者逻辑卷之后,接下来通常是通过格式化这个分区或逻辑卷来创建文件系统.这个

  • Kubernetes中创建命名空间实现方法

    目录 正文 命名空间类型 查看命名空间 创建命名空间 结论 正文 命名空间系统对计算来说并不陌生,我们大多数人可能在几乎所有编程语言中都见过命名空间,无论您在哪里遇到命名空间,其基本目的都是相同的:用于逻辑分组. 同样,在 Linux 内核中,也有命名空间的概念,比如存储和网络命名空间.每个容器也有自己的存储命名空间和网络命名空间,用于资源的隔离和分配. Kubernetes命名空间是指由同一物理集群支持的虚拟集群,此选项专为在多个用户分布在多个工作团队或项目的环境中使用而设计. 本文将介绍如何

  • 在 Python 中创建DataFrame的方法

    目录 方法一:创建空的DataFrame ​方法二:使用List创建DataFrame​ ​方法三:使用字典创建DataFrame​ ​方法四:使用数组创建带索引DataFrame​ 方法五:从字典列表创建DataFrame ​方法六:使用zip()函数创建DataFrame​ ​方法七:从序列的字典创建DataFrame​ 前言: DataFrame是数据的二维集合. 它是一种数据结构,其中数据以表格形式存储. 数据集按行和列排列: 我们可以在DataFrame中存储多个数据集. 我们可以执行

  • 使用c#在word文档中创建表格的方法详解

    复制代码 代码如下: public string CreateWordFile()        {            string message = "";            try            {                Object Nothing = System.Reflection.Missing.Value;                string name = "xiehuan.doc";               

  • Android App在线程中创建handler的方法讲解

    相关概念 1.Handler:可以看做是一个工具类,用来向消息队列中插入消息的; 2.Thread:所有与Handler相关的功能都是与Thread密不可分的,Handler会与创建时所在的线程绑定; 3.Message:消息; 4.MessageQueue:消息队列,对消息进行管理,实现了一个Message链表; 5.Looper:消息循环,从MessageQueue中取出Message进行处理: 6.HandlerThread:继承Thread,实例化时自动创建Looper对象,实现一个消息

  • JavaScript中创建原子的方法总结

    前言 原子操作这是Java多线程编程的老生常谈了.所谓原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程). 当然JS是单线程的,所以不存在线程打断这么一说,我只是从Java中借引了这么一个概念.如果一段JS代码在执行过程中没有未知操作被引入,那么这段代码就是100%可控和安全的,这就是原子操作.反之非原子操作可能会因为外界操作的引入导致代码变得难以控制而产生隐晦的bug. JavaScript中可以通过

  • Docker数据卷容器创建及使用方法解析

    数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用.所谓的数据卷容器,实际上就是一个普通的容器,举例如下: 创建数据卷容器 使用如下方式创建数据卷容器: docker run -itd -v /usr/share/nginx/html/ --name mydata ubuntu 命令执行效果如下图: 引用容器 使用如下命令引用数据卷容器: docker run -itd --volumes-from mydata -p 80:80 --name nginx1 nginx

  • 如何在Angular应用中创建包含组件方法示例

    理解组件包含 包含组件就是指可以包含其它组件的组件, 以 Bootstrap 的卡片 (Card) 为例, 它包含页眉 (header) . 主体 (body) 和 页脚 (footer) , 如下图所示: <div class="card text-center"> <div class="card-header"> Featured </div> <div class="card-body">

  • Java在Excel中创建透视表方法解析

    本文内容介绍通过Java程序在Excel表格中根据数据来创建透视表. 环境准备 需要使用Excel类库工具-Free Spire.XLS for Java,这里使用的是免费版,可通过官网下载Jar包并解压,手动导入lib文件夹下的Spire.Xls.jar到Java程序:或者也可以通过Maven仓库下载导入. Java代码示例 import com.spire.xls.*; public class CreatePivotTable { public static void main(Strin

  • Python中创建表格的方法你知道吗

    目录 1. 引言 2. 准备工作 3. 举个栗子 3.1 使用list生成表格 3.2 使用dict生成表格 3.3 增加索引列 3.4 缺失值处理 4. 总结 1. 引言 如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助. Python 提供了将某些表格数据类型轻松转换为格式良好的纯文本表格的能力,这就是 tabulate 库. 2. 准备工作 安装tabulate库安装tabulate库非常容易,使用pip即可安装,代码如下: pip install tabulate

随机推荐