10 #
高级系统配置需要特定的磁盘设置。您可以在安装期间执行所有常见分区任务。
要实现块设备的永久设备命名,请使用 /dev/disk/by-id
或 /dev/disk/by-uuid
下的块设备。
逻辑卷管理 (LVM) 是一种磁盘分区模式,旨在比标准设置中使用的物理分区更加灵活。它的快照功能方便了数据备份的创建。独立磁盘冗余阵列 (RAID) 提高了数据完整性、性能和容错能力。SUSE Linux Enterprise Server 还支持多路径 I/O(请参见第 18 章 “管理设备的多路径 I/O”了解细节)。此外还提供了使用 iSCSI 作为网络磁盘的选项(有关 iSCSI 的更多信息,请参见第 15 章 “经由 IP 网络的大容量储存:iSCSI”)。
请注意,在分区时,磁盘空间的计量单位是二进制而不是十进制。例如,如果您输入 1GB
、1GiB
或 1G
作为大小,这些数字全部表示 1 GiB(千兆二进制字节),而不是 1 GB(千兆字节)。
- 二进制
1 GiB = 1 073 741 824 字节。
- 十进制
1 GB = 1 000 000 000 字节。
- 差异
1 GiB ≈ 1.07 GB。
10.1 使用 #
使用图 10.1 “YaST 分区程序”中所示的 可以手动修改一个或多个硬盘的分区。可以添加、删除、编辑分区及调整分区大小,或访问软 RAID 和 LVM 配置。
尽管可能在系统运行时对其进行重分区,但发生导致数据丢失的错误的风险很高。尽量避免对已安装的系统进行重分区,如要进行此操作,请务必先创建数据的完整备份。
IBM Z 只能识别 DASD 和 SCSI 硬盘。不支持 IDE 硬盘。因此,如果这些设备是第一个识别出的设备,它们将在分区表中显示为 dasda
或 sda
。
YaST /dev/sda
(或 /dev/dasda
)。将分区作为这些设备的一部分列出,如 /dev/sda1
(或相应的 /dev/dasda1
)。此外还会显示硬盘的大小、类型、加密状态、文件系统和挂载点以及硬盘的分区。挂载点描述分区在 Linux 文件系统树中的位置。
左侧RAID
、卷管理
、加密文件
之类的功能,以及查看包含其他功能的文件系统,例如 Btrfs、NFS 或 TMPFS
。
如果在安装期间运行专家对话框,还会列出并自动选中所有可用硬盘空间。要为 SUSE Linux Enterprise Server 提供更多磁盘空间,请在分区列表中从下到上释放所需的空间。
10.1.1 分区表 #
SUSE Linux Enterprise Server 允许使用和创建不同的分区表。在某些情况下,分区表称为磁盘标签。分区表对于计算机的引导过程非常重要。要从新建分区表中的某个分区引导计算机,请确保固件支持该表的格式。
要更改分区表,请在
中单击相应磁盘名称,并选择 › 。10.1.1.1 主引导记录 #
主引导记录 (MBR) 是在 IBM PC 上使用的传统分区表。它有时也称作 MS-DOS 分区表。MBR 仅支持四个主分区。如果磁盘已包含 MBR,则 SUSE Linux Enterprise Server 允许您在该磁盘中创建更多分区用作安装目标。
创建扩展分区可以解决分区数量不能超过四个的限制。扩展分区本身是个主分区,可以包含更多的逻辑分区。
UEFI 固件通常支持以传统模式从 MBR 引导。
10.1.1.2 GPT 分区表 #
UEFI 计算机默认使用 GUID 分区表 (GPT)。如果不存在其他分区表,SUSE Linux Enterprise Server 会在磁盘中创建 GPT。
旧式 BIOS 固件不支持从 GPT 分区引导。
您需要提供 GPT 分区表才能使用以下功能之一:
四个以上的主分区
UEFI 安全引导
使用大于 2 TB 的磁盘
通过 Parted 3.1 或更低版本创建的 GPT 分区使用的是 Microsoft 基本数据分区类型,而不是更新的 Linux 特定 GPT GUID。更新版本的 Parted 会在此类分区中设置误导性的标志 msftdata
。此外,这也会导致各种磁盘工具将该分区标为 Windows 数据分区或类似标签。
要去除该标志,请运行:
#
parted DEVICE set PARTITION_NUMBER msftdata off
10.1.1.3 IBM Z 上的分区表 #
在 IBM Z 平台上,SUSE Linux Enterprise Server 支持 SCSI 硬盘和直接访问储存设备 (DASD)。虽然可以按照上面所述的方式对 SCSI 磁盘分区,但 DASD 分区表中的分区项不能超过 3 个。
10.1.2 分区 #
YaST 分区程序可以使用多种文件系统创建和格式化分区。SUSE Linux Enterprise Server 使用的默认文件系统为 Btrfs
。有关详细信息,请参见第 10.1.2.2 节 “Btrfs 分区”。
可以使用其他常用的文件系统:Ext2
、Ext3
、Ext4
、FAT
、XFS
、Swap
和 UDF
。
10.1.2.1 创建分区 #
要创建分区,请选择
,然后选择具有可用空间的硬盘。可以在 选项卡中执行实际的修改:单击MBR 时,请指定要创建主分区还是扩展分区。在扩展分区中,可以创建多个逻辑分区。有关详细信息,请参见第 10.1.1 节 “分区表”。
创建新分区。使用指定新分区的大小。可以选择占用所有可用的未分区空间,或输入自定义大小。
选择要使用的文件系统和挂载点。YaST 建议为创建的每个分区都选择一个挂载点。要使用其他挂载方法(如按标签挂载),请选择
。如果您的设置需要其他文件系统选项,请指定它们。例如,如果您需要永久设备名称,则此操作是必需的。关于可用选项的细节,请参见第 10.1.3 节 “编辑分区”。
单击
应用分区设置并退出分区模块。如果安装期间创建了分区,将返回到安装概述屏幕。
10.1.2.2 Btrfs 分区 #
根分区的默认文件系统是 Btrfs。有关细节,请参见第 10 章 “通过 Snapper 进行系统恢复和快照管理”和第 1 章 “Linux 中文件系统的概述”。根文件系统为默认子卷,它不会列于已创建的子卷列表中。作为默认的 Btrfs 子卷,它可以作为常规文件系统进行挂载。
默认的分区设置建议将根分区用作 Btrfs,并在其中包含 /boot
目录。要加密根分区,请务必使用 GPT 分区表类型,而不要使用默认的 MSDOS 类型。否则,GRUB2 引导加载程序可能没有足够的空间供第二阶段的加载程序使用。
您也可以根据系统事件手动或自动创建 Btrfs 子卷快照。例如,对文件系统进行更改时,在更改前后 zypper
会调用 snapper
命令来创建快照。如果您对 zypper
所做更改不满意,而且希望恢复为先前的状态,则此方法非常实用。由于 zypper
调用的 snapper
默认会创建根文件系统的快照,因此最好从快照中排除特定的目录。正因为此,YaST 建议创建以下单独子卷:
/boot/grub2/i386-pc
、/boot/grub2/x86_64-efi
、/boot/grub2/powerpc-ieee1275
、/boot/grub2/s390x-emu
不能回滚引导加载程序配置。上面列出的目录是架构专属目录。前两个目录位于 AMD64/Intel 64 计算机上,后两个目录分别位于 IBM POWER 和 IBM Z 上。
/home
如果独立的分区中没有
/home
,便会将该目录排除以免在回滚时发生数据丢失。/opt
第三方产品通常安装到
/opt
下。排除此目录是为了防止在回滚时卸装这些应用程序。/srv
包含 Web 和 FTP 服务器的数据。排除此目录是为了防止在回滚时发生数据丢失。
/tmp
包含临时文件和缓存的所有目录都会排除在快照范围之外。
/usr/local
在手动安装软件时会用到此目录。系统会将该目录排除以免在回滚时卸载这些安装的软件。
/var
此目录包含许多变量文件(包括日志、暂时缓存、
/var/opt
中的第三方产品),是虚拟机映像和数据库的默认位置。因此,创建此子卷是为了从快照中排除所有这些变量数据,且已禁用“写入时复制”。
由于保存的快照需要更多磁盘空间,建议您为 Btrfs 留出足够的空间。包含快照和默认子卷的根 Btrfs 分区的最小大小为 16 GB,SUSE 建议至少为 32 GB,如果 /home
未驻留在单独的分区中,则需要更多。
10.1.2.3 使用 YaST 管理 Btrfs 子卷 #
现可使用 YaST
模块管理 Btrfs 分区的子卷。您可以添加新子卷或删除现有子卷。10.1.3 编辑分区 #
在创建新分区或修改现有分区时,可以设置各种参数。对于新分区,YaST 设置的默认参数通常已经足够,不需要任何修改。要手动编辑您的分区设置,请按以下步骤继续:
选择分区。
单击
来编辑分区并设置以下参数:- 文件系统 ID
即使您不希望在此阶段格式化分区,仍需要为它指派一个文件系统 ID 来确保正确注册分区。典型值包括
、 、 和 。- 文件系统
要更改分区文件系统,请单击
,并在 列表中选择文件系统类型。SUSE Linux Enterprise Server 支持多种类型的文件系统。Btrfs 因其高级功能而成为根分区的首选 Linux 文件系统。它支持写时复制功能、创建快照、多设备跨接、子卷和其他有用的技术。XFS、Ext3 和 Ext4 是日记文件系统。通过使用在操作期间记录的写进程,这些文件系统能够在系统崩溃后非常快地恢复系统。Ext2 不是日记文件系统,但它适用于较小的分区,因为不需要管理大量磁盘空间。
根分区的默认文件系统是 Btrfs。其他分区的默认文件系统是 XFS。
可以在光学可重写和不可重写媒体、USB 闪存盘及硬盘中使用 UDF 文件系统。该文件系统受多种操作系统的支持。
交换是允许将分区用作虚拟内存的特殊格式。创建大小至少为 256 MB 的交换分区。但是如果用完了交换分区,则考虑向系统添加内存,而不是添加交换空间。
警告:更改文件系统更改文件系统和重格式化分区将不可逆地从该分区删除所有数据。
有关各种文件系统的细节,请参见《储存管理指南》。
- 加密设备
如果激活加密,则将所有数据以加密形式写入硬盘。这可以提高敏感数据的安全性,但会降低系统速度,因为加密需要一些时间。有关文件系统加密的详细信息,请参见第 13 章 “加密分区和文件”。
- 挂载点
指定应将分区挂载文件系统树中的哪个目录。请从 YaST 建议中选择,或输入任何其他名称。
- Fstab 选项
指定在全局文件系统管理文件 (
/etc/fstab
) 中包含的各种参数。默认设置对大多数安装已经足够。例如,您可以将文件系统标识从设备名称更改为卷标。在卷标中,可以使用除/
和空格之外的所有字符。要获取永久的设备名称,请使用挂载选项SUSE Linux Enterprise Server 中,已按默认启用永久设备名称。
、 或 。在注意:IBM Z:按路径挂载由于使用磁盘到磁盘复制进行克隆时,在 IBM Z 上按 ID 挂载会产生问题,因此默认情况下,IBM Z 上按
/etc/fstab
中的路径挂载设备。如果更愿意按标签挂载分区,则需要在
文本项中定义一个标签。例如,可以为计划挂载/home
的分区使用分区标签HOME
。如果要在文件系统中使用定额,请使用挂载选项有关如何配置用户定额的更多信息,请参见第 6.3.3 节 “管理定额”。
。必须先执行此操作,才能在 YaST 的 模块中为用户定义定额。如果您打算为 Btrfs 子卷指定定额,请参见第 1.2.5 节 “Btrfs 子卷定额支持”。
选择
保存更改。
要调整现有文件系统的大小,请选择分区并使用
。请注意,不能在挂载时调整分区大小。要调整分区大小,请在运行分区程序之前卸载相应的分区。10.1.4 专家选项 #
在
窗格中选择硬盘设备(例如 )之后,可以访问 窗口右下部分的 菜单。菜单包含以下命令:- 创建新分区表
该选项帮助您在选定设备上创建新的分区表。
警告:创建新分区表在设备上创建新分区表会从设备中不可逆地删除所有分区及其数据。
- 克隆此磁盘
该选项帮助您将设备分区布局(而不是数据)复制到其他可用磁盘设备上。
10.1.5 高级选项 #
选择计算机主机名(
窗格中树的顶层)后,可以访问 窗口右下部分的 菜单。菜单包含以下命令:- 配置 iSCSI
要通过 IP 块设备访问 SCSI,需要先配置 iSCSI。这会导致主要分区列表中显示附加的可用设备。
- 配置多路径
选择该选项可以帮助您为受支持的大容量储存设备配置多路径增强。
10.1.6 更多分区提示 #
以下部分包含有关分区的一些提示,它们会在您设置系统时帮助您做出正确决定。
10.1.6.1 柱面编号 #
注意,不同的分区工具可能从 0
或 1
开始计算分区的柱面。计算柱面数时,应始终使用最后一个和第一个柱面值之间的差,并加上 1。
10.1.6.2 使用交换
#
交换用于扩展可用物理内存。之后,可以使用比可用物理 RAM 更多的内存。2.4.10 之前的内核的内存管理系统需要交换作为安全措施。当时,如果交换中没有两倍大小的 RAM,系统性能将大受影响。这些限制不再存在。
Linux 使用称为“近期最少使用算法” (LRU) 的页面来选择可以从内存移到磁盘的页面。因此,正在运行的应用程序的可用内存更多,其缓存也运行得更为顺畅。
如果某个应用程序尝试分配允许的最大内存,则会发生交换问题。需要了解三种主要情形:
- 无交换的系统
应用程序获取了允许的最大内存。所有缓存均已释放,因此其他所有运行中的应用程序速度下降。几分钟之后,内核的内存不足终止机制会激活,并终止该进程。
- 中等大小交换 (128 MB-512 MB) 的系统
最初,该系统将与无交换的系统一样速度下降。所有物理 RAM 均已分配之后,也将使用交换空间。此时,系统速度变得非常慢,不能从远程运行命令。根据运行交换空间的硬盘的速度,系统可能保持此状态约 10 到 15 分钟,直到内存不足终止机制解决该问题。请注意,如果计算机需要执行“暂挂到磁盘”,则需要一定量的交换。在这种情况下,交换大小应该足够大,可以容纳来自内存的必需数据 (512MB-1GB)。
- 具有大量交换(GB 量级)的系统
在这种情况下,最好不要使用会失控并进行大量交换的应用程序。如果使用此类应用程序,系统将需要许多小时后才能恢复。在该进程中,其他进程可能超时并出错,导致系统处于未定义状态,即使是在终止出错进程之后。这种情况下,请执行硬性计算机重引导,并尝试再次运行它。仅当有应用程序依赖此项功能时,才需要使用大量交换。此类应用程序(如数据库或图形处理程序)通常有一个选项,用于直接使用硬盘空间满足其需要。建议使用此选项,不要使用大量交换空间。
如果系统未失控,但是一段时间之后需要更多交换,可能需要联机扩展交换空间。如果为交换空间准备了分区,请使用 YaST 添加此分区。如果没有可用分区,也可以使用交换文件来扩展交换。交换文件的速度通常低于分区,但与物理 RAM 相比,两者的速度都是极慢的,所以实际差别可以忽略。
要在运行的系统中添加交换文件,请执行以下操作:
在系统中创建一个空文件。例如,要在
/var/lib/swap/swapfile
添加交换空间为 128 MB 的交换文件,请使用命令:>
sudo
mkdir -p /var/lib/swap>
sudo
dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=128初始化此交换文件,命令为
>
sudo
mkswap /var/lib/swap/swapfile注意:通过mkswap
格式化时更改了交换分区的 UUID如果可能,请不要使用
mkswap
重新设置现有交换分区的格式。使用mkswap
重新设置格式将会更改交换分区的 UUID 值。请通过 YaST 重新设置格式(如此将更新/etc/fstab
),或者手动调整/etc/fstab
。激活交换,命令为
>
sudo
swapon /var/lib/swap/swapfile要禁用此交换文件,请使用命令
>
sudo
swapoff /var/lib/swap/swapfile检查当前可用的交换空间,命令为
>
cat /proc/swaps请注意,目前这只是临时交换空间。下一次重引导之后,将不再使用它。
要永久启用此交换文件,请将以下行添加到
/etc/fstab
:/var/lib/swap/swapfile swap swap defaults 0 0
10.1.7 分区和 LVM #
在
中,单击 窗格中的 项目访问 LVM 配置。但是,如果系统上已存在生效的 LVM 配置,则在进入会话的初始 LVM 配置时会自动激活它。这种情况下,包含分区(属于已激活的卷组)的所有磁盘都不能进行重分区。如果某个硬盘上的任意分区正在使用中,则 Linux 内核无法重新读取该硬盘经过修改的分区表。如果系统上已存在有效的 LVM 配置,则不必进行物理重分区。但需要更改逻辑卷的配置。
在物理卷 (PV) 的开始位置,将有关卷的信息写入到分区中。要将这样的分区重用于 LVM 之外的其他用途,最好删除此卷的开始位置。例如,在 VG system
和 PV /dev/sda
中,可以通过以下命令完成此操作:
dd
if=/dev/zero of=/dev/sda2 bs=512 count=1
用于引导的文件系统(root 文件系统或 /boot
)不能储存在 LVM 逻辑卷上。而应将其储存在通常的物理分区中。
有关 LVM 的更多细节,请参见储存管理指南。
10.2 LVM 配置 #
本节说明配置 LVM 时要执行的特定步骤。如果需要有关逻辑卷管理器的总体信息,请参见第 5.1 节 “了解逻辑卷管理器”。
使用 LVM 有时会增加一些风险,例如数据丢失。这些风险还包括应用程序崩溃、电源故障及有问题的命令。在实施 LVM 或重配置卷前,请保存数据。决不要在没有备份的情况下工作。
YaST LVM 配置可以通过 YaST 专家分区程序(请参见第 10.1 节 “使用)中 ” 窗格内的 项目来访问。 可用于管理硬盘和分区以及设置 RAID 和 LVM 配置。
10.2.1 创建物理卷 #
首先要创建用于向卷组提供空间的物理卷:
从
中选择一个硬盘。更改到
选项卡。单击
,并输入该磁盘上 PV 所需的大小。选择
,并将 更改为 。不要挂载该分区。重复此过程,直到您在可用磁盘上定义了所有所需物理卷。
10.2.2 创建卷组 #
如果系统上不存在卷组,则您必须添加一个(请参见图 10.3 “创建卷组”)。可以通过在 窗格中单击 ,然后单击 来创建其他组。通常一个卷组就已足够。
输入 VG 的名称,如
system
。选择所需的
。该值定义了卷组中物理块的大小。卷组中的所有磁盘空间都是按此大小的块来处理的。通过选择设备,然后单击Ctrl,可同时选择几个设备。
将准备好的 PV 添加到 VG。选择设备时按住选择
使 VG 可用于以后的配置步骤。
如果您定义了多个卷组,且希望添加或删除 PV,请在
列表中选择卷组,并单击 。在以下窗口中,您可以在已选的卷组中添加或删除 PV。10.2.3 配置逻辑卷 #
在用 PV 填充卷组后,请定义操作系统应在下一个对话框中使用的 LV。选择当前卷组,然后切换到
选项卡。根据需要 、 LV 以及对 LV ,直到卷组中的所有空间都用完为止。请为每个卷组至少指派一个 LV。单击
,然后完成打开的类似向导的弹出窗口:输入 LV 名称。对于应挂载到
/home
的分区,可以使用类似于HOME
的名称。选择 LV 类型。可以为
、 或 。注意:您必须先创建可存储单独精简卷的精简池。瘦配置的最大优势在于,存储于瘦池中的所有瘦卷的大小总和可以超过瘦池本身的大小。选择 LV 条带的大小和数量。如果您只有一个 PV,选择多个条带是没用的。
请选择要在 LV 上使用的文件系统及挂载点。
通过使用条带,可以在多个 PV 间分布 LV 中的数据流(条带化)。但是,对卷分段只能通过不同 PV 执行,每个 PV 至少提供卷的空间量。条带的最大数等于 PV 数,其中条带数“1”表示“不分段”。分段仅对不同硬盘上的 PV 有效,否则会降低性能。
YaST 无法在此时验证关于分段的输入是否正确。这里所犯的任何错误只有以后在磁盘上实施 LVM 时才能显现。
如果您已在系统上配置 LVM,则可以使用现有的逻辑卷。在继续前,请将适当的挂载点指派给这些 LV。单击
返回 YaST 专家分区程序,并在此完成工作。10.3 软 RAID #
本节介绍创建和配置各种类型的 RAID 所需执行的操作。如果您需要有关 RAID 的背景信息,请参见第 7.1 节 “了解 RAID 级别”。
10.3.1 软 RAID 配置 #
YaST 第 10.1 节 “使用中所述。此分区工具用于编辑和删除现有分区并创建要用于软 RAID 的新分区: ”
配置可以通过 YaST 专家分区程序完成,如从
中选择一个硬盘。更改到
选项卡。单击
并输入此磁盘上需要的 raid 分区大小。使用
并将 更改为 。不要挂载该分区。重复此过程,直到您在可用磁盘上定义了所有所需物理卷。
对于 RAID 0 和 RAID 1,至少需要两个分区,而对于 RAID 1,通常只需要两个分区。如果使用 RAID 5,则至少需要三个分区;RAID 6 和 RAID 10 至少需要四个分区。建议仅使用大小相同的分区。RAID 分区应位于不同硬盘上,以降低由于某块硬盘(RAID 1 和 5)出现问题而导致数据丢失的风险,同时还可以优化 RAID 0 的性能。创建用于 RAID 的所有分区之后,单击
› 以启动 RAID 配置。在下一个对话框中选择 RAID 级别 0、1、5、6 和 10。然后,选择应由 RAID 系统使用的,类型为 “Linux RAID” 或 “Linux native” 的所有分区。未显示交换分区或 DOS 分区。
要将以前未指派的分区添加到所选的 RAID 卷中,请先单击该分区,然后单击
。指派所有为 RAID 保留的分区。否则,分区中的空间仍处于未使用状态。指派所有分区之后,单击 选择可用的 。
在最后一步中,设置要使用的文件系统、RAID 卷的加密方法和挂载点。单击/dev/md0
设备和以 RAID 表示的其他设备。
10.3.2 查错 #
查看文件 /proc/mdstat
以确定 RAID 分区是否受损。如果系统出现故障,请关闭 Linux 系统并用分区方式相同的新硬盘替换有问题的硬盘。然后重启动您的系统并输入命令 mdadm /dev/mdX --add /dev/sdX
。将“X”替换为您的特定设备标识符。此命令会自动将该硬盘集成到 RAID 系统并进行完全重构建。
请注意,尽管可以在重构建期间访问所有数据,但在 RAID 完全重构建之前,仍然可能遇到一些性能问题。
10.3.3 更多信息 #
可在以下位置找到软 RAID 的配置指导和更多细节:
此外还提供有 Linux RAID 邮件列表,例如 http://marc.info/?l=linux-raid。