介绍
有许多工具可用于管理Linux中的存储,但是,只有一小部分用于日常维护和管理,在本指南中,您将查看一些用于管理安装点,存储设备和文件系统的最常用的实用工具。
其他资源
本指南不涵盖如何准备存储设备以便在 Linux 系统上初次使用,本指南关于 在 Linux 中分区和格式化块设备将帮助您准备您的原始存储设备,如果您尚未设置您的存储设备。
有关某些用于讨论存储的术语的更多信息,请尝试阅读本文在 存储术语。
寻找存储容量和使用与df
通常,您所需要的关于系统存储的最重要信息是连接的存储设备的容量和当前使用情况。
要检查总共可用的存储空间,并查看您的驱动器的当前利用率,请使用 df 实用程序. 默认情况下,这将以 1K 块输出测量,这并不总是有用。
1df -h
1[secondary_label Output]
2Filesystem Size Used Avail Use% Mounted on
3udev 238M 0 238M 0% /dev
4tmpfs 49M 624K 49M 2% /run
5/dev/vda1 20G 1.1G 18G 6% /
6tmpfs 245M 0 245M 0% /dev/shm
7tmpfs 5.0M 0 5.0M 0% /run/lock
8tmpfs 245M 0 245M 0% /sys/fs/cgroup
9tmpfs 49M 0 49M 0% /run/user/1000
10/dev/sda1 99G 60M 94G 1% /mnt/data
/dev/vda1
分区,安装在/
,占6%,拥有18G可用空间,而/dev/sda1
分区,安装在/mnt/data
是空的,有94G可用空间。
1df -h -x tmpfs -x devtmpfs
1[secondary_label Output]
2Filesystem Size Used Avail Use% Mounted on
3/dev/vda1 20G 1.1G 18G 6% /
4/dev/sda1 99G 60M 94G 1% /mnt/data
此输出通过删除一些伪装设备和特殊设备来更集中地显示当前磁盘利用率。
通过 lsblk 查找有关区块设备的信息
一个 区块设备是一个通用术语,用于读取或写入特定大小的块的存储设备。这个术语适用于几乎所有类型的非波动性存储,包括硬盘驱动器(HDD)、固态驱动器(SSD)等。
lsblk 实用程序可以用来显示有关区块设备的信息. 该实用程序的具体功能取决于安装的版本,但一般来说,lsblk 命令可以用来显示关于驱动器本身的信息,以及分区信息和已写给它的文件系统。
没有任何论点,lsblk 会显示设备的名称,与设备相关的主要和小数字(Linux 内核用于跟踪驱动程序和设备),驱动器是否可移除,其大小,是否仅用于阅读,其类型(磁盘或分区)和其安装点。
1sudo lsblk
1[secondary_label Output]
2NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
3sda 8:0 0 100G 0 disk
4vda 253:0 0 20G 0 disk
5└─vda1 253:1 0 20G 0 part /
显示的输出中,最重要的部分通常是名称,它指的是/dev
下的设备名称,大小,类型和安装点. 在这里,你可以看到你有一个磁盘(/dev/vda
)有一个单个分区(/dev/vda1
)被用作/
分区和另一个磁盘(/dev/sda
)没有分区。
要获得更相关的磁盘和分区管理信息,您可以在某些版本上通过--fs
标志:
1sudo lsblk --fs
1[secondary_label Output]
2NAME FSTYPE LABEL UUID MOUNTPOINT
3sda
4vda
5└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
如果您的系统上无法使用 --fs' 旗帜,您可以使用
-o' 旗帜手动复制输出,以要求特定输出,您可以使用 `-o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT' 获得相同的信息。
若要获取有关磁盘 topology 的信息,请键入:
1sudo lsblk -t
1[secondary_label Output]
2NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
3sda 0 512 0 512 512 1 deadline 128 128 2G
4vda 0 512 0 512 512 1 128 128 0B
5└─vda1 0 512 0 512 512 1 128 128 0B
您可以输出所有可用的列与-O
旗帜,或者您可以通过指定列名与-o
旗帜来定制显示的字段。
1lsblk -h
1[secondary_label Output]
2. . .
3
4Available columns (for --output):
5 NAME device name
6 KNAME internal kernel device name
7
8 . . .
9
10 SUBSYSTEMS de-duplicated chain of subsystems
11 REV device revision
12 VENDOR device vendor
13
14For more details see lsblk(8).
与Filesystem Mounts合作
在你可以使用新的磁盘之前,你通常需要分区它,用文件系统格式化它,然后安装驱动器或分区。分区和格式化通常是一次性程序。你可以在 Linux 中如何分区和格式化存储设备中找到有关如何分区和格式化一个驱动器的更多信息。
安装是你可能会更频繁地做的事情。 安装文件系统使其可用于服务器在所选的安装点. 一个 mount point 是一个目录,可以访问新的文件系统。
两个辅助命令主要用于管理安装:mount
和umount
。mount
命令用于将文件系统附加到当前的文件树上。在Linux系统中,单一的统一文件等级用于整个系统,无论它由多少物理设备组成。umount
命令(注:这是umount
,而不是unmount
)用于卸载一个文件系统。此外,findmnt
命令对于收集有关安装的文件系统当前状态的信息是有用的。
使用山的命令
使用安装
的最简单方法是通过一个格式化设备或分区,并将其附加到安装点:
1sudo mount /dev/sda1 /mnt
安装点是指在文件等级中将新文件系统附加到何处的最终参数,几乎总是是一个空目录。
通常,你会想在安装时选择更具体的选项.虽然安装
可以尝试猜测文件系统类型,但几乎总是通过t
选项在文件系统类型中更好。
1sudo mount -t ext4 /dev/sda1 /mnt
有许多其他选项将影响文件系统的安装方式. 有通用安装选项,可以在 安装手册的 FILESYSTEM INDEPENDENT MOUNT OPTIONS部分找到。
例如,要安装具有默认选项(即rw,suid,dev,exec,auto,nouser,async
)的分区,您可以通过-o
默认选项。
1sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
要安装在 /etc/fstab 文件中描述的所有文件系统,您可以通过
-a' 选项:
1sudo mount -a
列表 文件系统 Mount 选项
若要显示用于特定安装的安装选项,请使用findmnt
命令.例如,如果您从上面的示例中查看了仅读式安装,则将显示为findmnt
:
1findmnt /mnt
1[secondary_label Output]
2TARGET SOURCE FSTYPE OPTIONS
3/mnt /dev/sda1 ext4 ro,relatime,data=ordered
如果你已经尝试过多个选项,并且终于发现了一组你喜欢的选项,你可以找到它使用的选项与findmnt
,这样你就可以知道什么是合适的添加到/etc/fstab
文件,以便在未来安装。
删除一个文件系统
mount
命令是用来卸载一个特定的文件系统. 再次,这是mount
而不是unmount
。
命令的一般形式是命名当前安装的文件系统的安装点或设备. 确保您在安装点上不使用任何文件,并且您没有任何应用程序(包括当前壳)在安装点内运行:
1cd ~
2sudo umount /mnt
通常没有选项可以添加到默认的卸载行为。
结论
虽然此列表并非全面,但这些实用程序应该涵盖您日常系统管理任务所需的大部分内容,通过学习几个工具,您可以在服务器上处理存储设备。