介绍
在Linux中有许多工具可用于管理存储。 然而,只有少数几个用于日常维护和管理。 在本指南中,我们将介绍一些用于管理装载点,存储设备和文件系统的最常用的实用程序。
其他资源
本指南不会介绍如何准备存储设备以便在Linux系统上初始使用。 我们在导游的Linux的分区和格式化的块设备将帮助您准备原始存储设备,如果您还没有设置您的存储呢。
有关一些用来讨论存储术语的详细信息,看一看我们的文章存储术语 。
使用df查找存储容量和用量
通常,您希望了解系统存储空间的最重要信息是连接的存储设备的容量和当前利用率。
要检查的存储空间是如何在总可用并查看您的驱动器的当前使用率,使用df实用程序。 默认情况下,它以1K块输出测量结果,这通常不太有用。 添加-h
标志在人类可读的单位输出:
df -h
OutputFilesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sda1 99G 60M 94G 1% /mnt/data
正如你所看到的, /dev/vda1
分区,安装在/
,为6%,充分和有可用空间的18G,同时/dev/sda1
分区,这是安装在/mnt/data
是空的,并具有94G的可用空间。 其他条目使用tmpfs
或devtmpfs
文件系统,它用于非易失性存储器就好像它是永久存储。 我们可以通过键入以下内容排除这些条目:
df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/sda1 99G 60M 94G 1% /mnt/data
此输出通过删除某些伪设备和特殊设备,提供更集中的当前磁盘利用率显示。
使用lsblk查找有关块设备的信息
块设备为存储设备读取或在一个特定大小的块写入的总称。 该术语适用于几乎每种类型的非易失性存储器,包括硬盘驱动器(HDD),固态驱动器(SSD),闪存等。块设备是写入文件系统的物理设备。 文件系统反过来指示如何存储数据和文件。
该lsblk实用程序可以用来方便地显示有关块设备的信息。 该实用程序的特定功能依赖于安装的版本,但在一般情况下, lsblk
命令可以用来显示驱动器本身,以及分区信息和已被写入的文件系统信息。
不带任何参数, lsblk
将显示设备名称,主要和次要的数字(所使用的Linux内核跟踪驱动程序和设备),驱动器是否是可移动的,它的大小,是否安装了只读的,它的类型(磁盘或分区)及其安装点。 某些系统需要sudo
此才能正确显示,所以我们将在下面的使用方法:
sudo lsblk
OutputNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
vda 253:0 0 20G 0 disk
└─vda1 253:1 0 20G 0 part /
的输出显示,最重要的部分通常是名称,它指的是根据设备名称/dev
,大小,类型和安装点。 在这里,我们可以看到,我们有一个磁盘( /dev/vda
)只有一个分区( /dev/vda1
)被用作/
分区,另一个磁盘( /dev/sda
)尚未分区。
要获取更多有关磁盘和分区管理的信息,您可以通过--fs
而在某些版本的标志:
sudo lsblk --fs
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
vda
└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
如果--fs
标志为您的版本不可用,可以手动通过复制输出-o
标志请求特定的输出。 您可以使用-o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
得到相同的信息。
要获取有关磁盘拓扑的信息,请键入:
sudo lsblk -t
OutputNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sda 0 512 0 512 512 1 deadline 128 128 2G
vda 0 512 0 512 512 1 128 128 0B
└─vda1 0 512 0 512 512 1 128 128 0B
还有许多其他快捷方式可用于显示有关磁盘和分区的相关特性。 您可以输出与所有可用列-O
标志也可以自定义字段通过与指定的列名,以显示-o
标志。 该-h
标志可用于列出可用列:
lsblk -h
Output. . .
Available columns (for --output):
NAME device name
KNAME internal kernel device name
. . .
SUBSYSTEMS de-duplicated chain of subsystems
REV device revision
VENDOR device vendor
For more details see lsblk(8).
使用文件系统装载
在使用新磁盘之前,您通常必须对其进行分区,使用文件系统对其进行格式化,然后装入一个或多个驱动器。 分区和格式化通常是一次性过程,因此我们不在这里讨论它们。 正如前面提到的,你可以找到关于如何进行分区和格式化中使用Linux驱动器更多信息, 这篇文章 。
另一方面,安装是你可能更频繁地管理的东西。 安装文件系统使其可以在选定的安装点处对服务器可用。 挂载点是简单地在其下新的文件系统可访问的目录。
两个互补的命令主要用于管理安装: mount
和umount
。 该mount
命令用于文件系统附加到当前文件树。 在Linux系统中,单个统一文件层次结构用于整个系统,无论其组成多少物理设备。 该umount
命令(注:这是umount
,不unmount
)来卸载文件系统。 此外, findmnt
命令收集有关安装的文件系统当前状态的信息很有帮助。
使用mount命令
要使用的最基本的方式mount
在一个格式化的设备或分区和挂载点它是附在经过:
sudo mount /dev/sda1 /mnt
安装点,指定新文件系统应该附加在文件层次结构中的最后一个参数,应该几乎总是一个空目录。
通常,在安装时,您将需要选择更多特定选项。 尽管mount
可尝试猜测文件系统类型,它几乎总是一个更好的主意的文件系统类型与传递-t
选项。 对于Ext4文件系统,这将是:
sudo mount -t ext4 /dev/sda1 /mnt
还有许多其他选项会影响文件系统的安装方式。 有通用的安装选项,可以在文件系统中独立MOUNT选项部分中找到man mount
。 文件系统通常也有同一个人页面的文件系统相关的选项文件系统的指定挂载选项标题下的一节。
通过与其他选项-o
标志。 例如,安装使用默认选项一个分区(代表rw,suid,dev,exec,auto,nouser,async
),我们可以通过-o defaults
。 如果我们想要覆盖的读写权限,并安装成只读,我们可以添加ro
为以后的选择,这将覆盖rw
从defaults
的选项:
sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
要安装所有在列出的文件系统的/etc/fstab
的文件,你可以通过-a
选项:
sudo mount -a
列出文件系统挂载选项
要显示用于特定挂载安装选项,将它传递给findmnt
命令。 举例来说,如果我们看只读安装,我们给作为例子以上findmnt
,它会是这个样子:
findmnt /mnt
OutputTARGET SOURCE FSTYPE OPTIONS
/mnt /dev/sda1 ext4 ro,relatime,data=ordered
如果你已经尝试了多个选项,并且最终发现了一个你喜欢的集合,这可以是非常有用的。 你可以找到它使用的选项findmnt
,让你知道什么是适当添加到/etc/fstab
存档,以便今后安装。
卸载文件系统
该umount
命令用来卸载特定文件系统。 再次,这是umount
不unmount
。
命令的一般形式是简单地命名当前安装的文件系统的安装点或设备。 确保您未在安装点上使用任何文件,并且没有任何应用程序(包括当前shell)在安装点内部操作:
cd ~
sudo umount /mnt
对于绝大多数用户来说,除了默认卸载行为之外,将不再需要任何东西。
结论
虽然此列表并不详尽,但这些实用程序应涵盖您日常系统管理任务所需的大部分内容。 通过学习几个工具,您可以轻松地处理服务器上的存储设备。