标签 分区 下的文章

你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错。我们无法使用 fdisk 对大于 2TB 的硬盘进行分区。

在这种情况下,我们可以使用 parted 命令。它的主要区别在于 fdisk 使用 DOS 分区表格式而 parted 使用 GPT 格式。

提示:你可以使用 gdisk 来代替 parted

在本文中,我们将介绍如何将大于 2TB 的新磁盘添加到现有的 Linux 服务器中(如 RHEL/CentOS 或 Debian/Ubuntu)中。

我使用的是 fdiskparted 来进行此配置。

首先使用 fdisk 命令列出当前的分区详细信息,如图所示。

# fdisk -l

List Linux Partition Table

列出 Linux 分区表

为了本文的目的,我加了一块 20GB 的磁盘,这也可以是大于 2TB 的磁盘。在你加完磁盘后,使用相同的 fdisk 命令验证分区表。

# fdisk -l

List New Partition Table

列出新的分区表

提示:如果你添加了一块物理磁盘,你可能会发现分区已经创建了。此种情况下,你可以在使用 parted 之前使用 fdisk 删除它。

# fdisk /dev/xvdd

在命令中使用 d 开关删除分区,使用 w 保存更改并退出。

Delete Linux Partition

删除 Linux 分区

重要:在删除分区时你需要小心点。这会擦除磁盘上的数据。

现在是使用 parted 命令分区新的磁盘了。

# parted /dev/xvdd

将分区表格式化成 GPT

(parted) mklabel gpt

创建主分区并分配磁盘容量,这里我使用 20GB (在你这里可能是 2TB)。

(parted) mkpart primary 0GB 20GB

Create Partition using Parted

使用 parted 创建分区

出于好奇,让我们用 fdisk 看看新的分区。

# fdisk /dev/xvdd

Verify Partition Details

验证分区细节

现在格式化并挂载分区,并在 /etc/fstab 添加相同的信息,它控制在系统启动时挂载文件系统。

# mkfs.ext4 /dev/xvdd1

Format Linux Partition

格式化 Linux 分区

一旦分区格式化之后,是时候在 /data1 下挂载分区了。

# mount /dev/xvdd1 /data1

要永久挂载,在 /etc/fstab 添加条目。

/dev/xvdd1     /data1      ext4      defaults  0   0

重要:要使用 GPT 分区格式需要内核支持。默认上 RHEL/CentOS 的内核已经支持 GPT,但是对于 Debian/Ubuntu,你需要在修改配置之后重新编译内核。

就是这样了!在本文中,我们向你展示了如何使用 parted 命令。与我们分享你的评论和反馈。


作者简介:

我在包括 IBM-AIX、Solaris、HP-UX 以及 ONTAP 和 OneFS 存储技术的不同平台上工作,并掌握 Oracle 数据库。


via: http://www.tecmint.com/add-disk-larger-than-2tb-to-an-existing-linux/

作者:Lakshmi Dhandapani 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

头条消息

专门为 KDE Plasma 5桌面环境设计的分区管理软件 KDE 分区管理器 2.2.0 发布,在这个版本中提供了大量的 LUKS 加密文件系统支持。它允许用户关闭或打开使用 LUKS 加密的卷,也支持加密文件系统重新划分大小,还可以移动关闭的 LUKS 加密卷、移除打开的 LUKS 卷、检查内部文件系统的错误等等。这是目前为止唯一一个支持 LUKS 加密文件系统调整的开源软件。

版本更迭

  • 代号为“Atticus”的 Parsix GNU/Linux 8.5 和即将发行的代号为“Erik”的 Parsix GNU/Linux 8.10 最近都对核心组件的安全问题进行了修复。包括 expat, libgd2, libndp, ImageMagick, libidn, jansson, IceDove, libarchive, QEMU, Wireshark, librsvg, WebSVN, libxstream-java, xerces-c, swift-plugin-s3, and atheme-services。还没有进行更新的“Atticus”用户可以进行更新了。
  • Parsix GNU/Linux 的开发者发布了官方的 USB 镜像,允许用户使用 USB 闪存棒快速在自己机器上部署最新的 Parsix GNU/Linux 发行版,并且他们承诺很快就会提供对64位机器上 UEFI 的支持。与此同时,“Erik”的开发正在进行中,最近的构建版本采用 GNOME 3.20.1 桌面环境,鉴于 GNOME 3.20.2 已经出来了,我们期待看到采用最新 GNOME 桌面环境的发行版。
  • 面向树莓派3和2的 Sabayon ARM 16.06 媒体中心版发布。与此同时,Sabayon ARM 16.06 的基础版镜像采用了最新的稳定版 Linux 4.4 内核。点此下载媒体中心版和基础版镜像文件。
  • Linux 4.6 内核已经发布两周了,Linus Torvalds 为我们介绍了下一个Linux内核分支 Linux 4.7 的开发周期。目前第一个发行候选版本已经可以从官网进行下载了。这一版最显著的一个特性是对 VFS ( 虚拟文件系统 Virtual File System )层的重大修改,它可能会影响所有 Linux 内核支持的文件系统。
  • 在NetBSD 7.0发布7个月后,NetBSD 7.0.1 发布,修复了核心组件的许多安全漏洞,改善了对 ODROID-C1 单板计算机的支持。
  • MKVToolNix 9.2.0 发布,这一版没有重大特性的更改,尽管如此,还是建议用户进行更新。

对大多数系统管理员来说扩充 Linux 服务器的磁盘空间是日常的工作之一。因此这篇文章会通过使用 Linux 命令,在 CentOS 7 系统上演示一些简单的操作步骤来扩充您的磁盘空间而不需要重启您的生产服务器。关于扩充和增加新的磁盘到 Linux 系统,我们会提及多种方法和多种可行性,可按您所需选择最适用的一种。

1. 在虚拟机客户端扩充磁盘空间:

在为 Linux 系统增加磁盘卷之前,您首先需要添加一块新的物理磁盘,或在 VMware vShere、VMware 工作站以及你使用的其它虚拟环境软件中进行设置来增加一块虚拟磁盘的容量。

Increase disk

2. 检查磁盘空间:

运行如下命令来检查当前磁盘空间大小。

# df -h
# fdisk -l

Fdisk check

可以看到,虽然我们已经在后端给其增加到 50 GB 的空间,但此时的总磁盘大小仍然为 10 GB。

3. 扩展空间而无需重启虚拟机

现在运行如下命令,通过重新扫描 SCSI (注:Small Computer System Interface 小型计算机系统接口)总线并添加 SCSI 设备,系统就可以扩展操作系统的物理卷磁盘空间,而且不需要重启虚拟机。

# ls /sys/class/scsi_host/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan

使用下面的命令来检查 SCSI 设备的名称,然后重新扫描 SCSI 总线。

# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan

如下图所示,会重新扫描 SCSI 总线,随后我们在虚拟机客户端设置的磁盘大小会正常显示。

Rescan disk device

4. 创建新磁盘分区:

一旦在系统中可以看到扩展的磁盘空间,就可以运行如下命令来格式化您的磁盘以创建一个新的分区。请按如下操作步骤来扩充您的物理磁盘卷。

# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2) press the 'm' key for help
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):

键入 'p' 来查看当前的分区表信息,然后键入 'n' 键来创建一个新的主分区,选择所有可用的扇区。 使用 't' 命令改变磁盘类型为 'Linux LVM',然后选择编码 '8e' 或者默认不选,它默认的类型编码为 '83'。

现在输入 'w' 来保存分区表信息并且退出命令环境,如下示:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)

New disk Volume

5. 创建物理卷:

根据上述提示,运行 'partprob' 或 'kpartx' 命令以使分区表生效,然后使用如下的命令来创建新的物理卷。

# partprobe
# pvresize /dev/sda3

要检查新创建的卷,运行如下的命令可以看出新的物理卷是否已经被创建,是否可用。接下来,我们就可以使用这个新的物理卷来扩展 'centos' 卷组了,如下示:

# pvdisplay
# vgextend centos /dev/sda3

Extend volume Group

6. 扩展逻辑卷:

现在我们使用如下的命令扩展逻辑卷,以增加我们系统正使用的磁盘空间。

# lvextend -L +40G /dev/mapper/centos-root

一旦返回增加成功的消息,就可以运行如下命令来扩展您的逻辑卷大小。

# xfs_growfs /dev/mapper/centos-root

'/' 分区的大小已经成功的增加了,可以使用 'df' 命令来检查您磁盘驱动器的大小。如图示。

Increase disk space

7. 通过增加新的磁盘来扩充根分区而不用重启系统:

这是第二种方法,它使用的命令非常简单, 用来增加 CentOS 7 系统上逻辑卷空间大小。

所以第一步是打开您的虚拟机客户端的设置页面,点击 ‘增加’ 按纽,然后继续下一步操作。

Add new disk

选择新磁盘所需要的配置信息,如下图所示的,选择新磁盘的大小和它的类型。

New disk setup

然后进入服务端重复如下的命令来扫描您的磁盘设备,以使新磁盘在系统中可见。

# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan

列出您的 SCSI 设备的名称:

# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
# fdisk -l

Scanning new disk

一旦新增的磁盘可见,就可以运行下面的命令来创建新的物理卷,然后增加到卷组,如下示。

# pvcreate /dev/sdb
# vgextend centos /dev/sdb
# vgdisplay

Extending Volume Group

现在根据此磁盘的空间大小来扩展逻辑卷,然后添加到根分区。

# lvextend -L +20G /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-root
# df -h

Increase / Partition

结论:

在 Linux CentOS 7 系统上管理磁盘分区的操作过程是非常简单的,可以使用这篇文章所述的操作步骤来扩充您的任意逻辑卷的磁盘空间。您不需要重启生产线上的服务器,只是简单的重扫描下 SCSI 设备,和扩展您想要的 LVM(逻辑卷管理)。我们希望这文章对您有用。请随意的发表有用的评论和建议。


via: http://linoxide.com/linux-how-to/add-new-disk-centos-7-without-rebooting/

作者:Kashif S 译者:runningwater 校对: wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

去年八月份,Linux 基金会发起了 LFCS( Linux 基金会认证系统管理员 Linux Foundation Certified Sysadmin )认证,给所有系统管理员一个展现自己的机会。通过基础考试后,他们可以胜任在 Linux 上的整体运维工作:包括系统支持、一流水平的诊断和监控以及在必要之时向其他支持团队提交帮助请求等。

Linux Foundation Certified Sysadmin – Part 4

LFCS 系列第四讲

需要注意的是,Linux 基金会认证是非常严格的,通过与否完全要看个人能力。通过在线链接,你可以随时随地参加 Linux 基金会认证考试。所以,你再也不用到考试中心了,只需要不断提高自己的专业技能和经验就可去参加考试了。

请看一下视频,这里将讲解 Linux 基金会认证程序。

本讲是系列教程中的第四讲。在本讲中,我们将涵盖对存储设备进行分区、格式化文件系统和配置交换分区等内容,这些都是 LFCS 认证中的必备知识。

对存储设备分区

分区是一种将单独的硬盘分成一个或多个区的手段。一个分区只是硬盘的一部分,我们可以认为这部分是独立的磁盘,里边包含一个单一类型的文件系统。分区表则是将硬盘上这些分区与分区标识符联系起来的索引。

在 Linux 上,IBM PC 兼容系统里边用于管理传统 MBR(用到2009年)分区的工具是 fdisk。对于 GPT(2010年至今)分区,我们使用 gdisk。这两个工具都可以通过程序名后面加上设备名称(如 /dev/sdb)进行调用。

使用 fdisk 管理 MBR 分区

我们先来介绍 fdisk:

# fdisk /dev/sdb

然后出现提示说进行下一步操作。若不确定如何操作,按下 “m” 键显示帮助。

fdisk Help Menu

fdisk 帮助菜单

上图中,使用频率最高的选项已高亮显示。你可以随时按下 “p” 显示分区表。

Check Partition Table in Linux

显示分区表

Id 列显示由 fdisk 分配给每个分区的分区类型(分区 id)。一个分区类型代表一种文件系统的标识符,简单来说,包括该分区上数据的访问方法。

请注意,每个分区类型的全面讲解将超出了本教程的范围——本系列教材主要专注于 LFCS 测试,以考试为主。

下面列出一些 fdisk 常用选项:

按下 “l”(小写 L)选项来显示所有可以由 fdisk 管理的分区类型。

按下 “d” 可以删除现有的分区。若硬盘上有多个分区,fdisk 将询问你要删除那个分区。

键入对应的数字,并按下 “w” 保存更改(将更改写入分区表)。

在下图的命令中,我们将删除 /dev/sdb2,然后显示(p)分区表来验证更改。

fdisk Command Options

fdisk 命令选项

按下 “n” 后接着按下 “p” 会创建新一个主分区。最后,你可以使用所有的默认值(这将占用所有的可用空间),或者像下面一样自定义分区大小。

Create New Partition in Linux

创建新分区

若 fdisk 分配的分区 Id 并不是我们想用的,可以按下 “t” 来更改。

Change Partition Name in Linux

更改分区类型

全部设置好分区后,按下 “w” 将更改保存到硬盘分区表上。

Save Partition Changes

保存分区更改

使用 gdisk 管理 GPT 分区

下面的例子中,我们使用 /dev/sdb。

# gdisk /dev/sdb

必须注意的是,gdisk 可以用于创建 MBR 和 GPT 两种分区表。

Create GPT Partitions in Linux

创建 GPT 分区

使用 GPT 分区方案,我们可以在同一个硬盘上创建最多 128 个分区,单个分区最大以 PB 为单位,而 MBR 分区方案最大的只能 2TB。

注意,fdisk 与 gdisk 中大多数命令都是一样的。因此,我们不会详细介绍这些命令选项,而是给出一张使用过程中的截图。

gdisk Command Options

gdisk 命令选项

格式化文件系统

一旦创建完需要的分区,我们就必须为分区创建文件系统。查询你所用系统支持的文件系统,请运行:

# ls /sbin/mk*

Check Filesystems Type in Linux

检查文件系统类型

选择文件系统取决于你的需求。你应该考虑到每个文件系统的优缺点以及其特点。选择文件系统需要看的两个重要属性:

  • 日志支持,允许从系统崩溃事件中快速恢复数据。
  • 安全增强式 Linux(SELinux)支持,按照项目 wiki 所说,“安全增强式 Linux 允许用户和管理员更好的控制访问控制权限”。

在接下来的例子中,我们通过 mkfs 在 /dev/sdb1 上创建 ext4 文件系统(支持日志和 SELinux),标卷为 Tecmint。mkfs 基本语法如下:

# mkfs -t [filesystem] -L [label] device
或者
# mkfs.[filesystem] -L [label] device

Create ext4 Filesystems in Linux

创建 ext4 文件系统

创建并启用交换分区

要让 Linux 系统访问虚拟内存,则必须有一个交换分区,当内存(RAM)用完的时候,将硬盘中指定分区(即 Swap 分区)当做内存来使用。因此,当有足够的系统内存(RAM)来满足系统的所有的需求时,我们并不需要划分交换分区。尽管如此,是否使用交换分区取决于管理员。

下面列出选择交换分区大小的经验法则:

物理内存不高于 2GB 时,取两倍物理内存大小即可;物理内存在 2GB 以上时,取一倍物理内存大小即可;并且所取大小应该大于 32MB。

所以,如果:

M为物理内存大小,S 为交换分区大小,单位 GB,那么:

若 M < 2
    S = M *2
否则
    S = M + 2

记住,这只是基本的经验。对于作为系统管理员的你,才是决定是否使用交换分区及其大小的关键。

要配置交换分区,首先要划分一个常规分区,大小像我们之前演示的那样来选取。然后添加以下条目到 /etc/fstab 文件中(其中的 X 要更改为对应的 b 或 c)。

/dev/sdX1 swap swap sw 0 0

最后,格式化并启用交换分区:

# mkswap /dev/sdX1
# swapon -v /dev/sdX1

显示交换分区的快照:

# cat /proc/swaps

关闭交换分区:

# swapoff /dev/sdX1

下面的例子,我们会使用 fdisk 将 /dev/sdc1(512MB,系统和内存为 256MB)来设置交换分区,下面是我们之前详细提过的步骤。注意,这种情况下我们使用的是指定大小分区。

Create-Swap-Partition in Linux

创建交换分区

Add Swap Partition in Linux

启用交换分区

结论

在你的系统管理员之路上,创建分区(包括交换分区)和格式化文件系统是非常重要的一步。我希望本文中所给出的技巧指导你到达你的管理员目标。随时在本讲评论区中发表你的技巧和想法,一起为社区做贡献。

参考链接


via: http://www.tecmint.com/create-partitions-and-filesystems-in-linux/

作者:Gabriel Cánepa 译者:GHLandy 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在 Linux 中创建分区或新的文件系统通常意味着一件事:安装 Gnome Parted 分区编辑器(GParted)。对于大多数 Linux 用户而言,这是唯一的办法。不过,你是否考虑过在终端创建这些分区和文件系统?当然可以!以下就是方法!

使用 CFdisk 创建一个基本的 Linux 分区

以下是如何在命令行中创建一个基本的 Linux 分区的正确方案。要做的第一件事就是先打开你的终端。若你已打开,你需要找到你想要创建分区的磁盘。这可以使用一个简单的命令来找到。

lsblk

cfdisk-lsblk

当你运行了 lsblk,你应该会看到当前系统上每个磁盘的详细列表。看看这个列表,然后找出你想要使用的磁盘。在本文中,我将使用 sdb 来进行演示。

在终端输入这个命令。它会显示一个功能强大的基于终端的分区编辑程序。

sudo cfdisk /dev/sdb

cfdisk-empty-layout

注意: 使用在 lsblk 命令输出的你想要使用的磁盘来替换 sdb

当输入此命令后,你将进入分区编辑器中,然后访问你想改变的磁盘。

由于磁盘分区的不同,这取决于用户的需求,这部分的指南将在 如何建立一个分离的 Linux home/root 分区布局

首先,需要创建根分区。这需要根据磁盘的字节数来进行分割。我测试的磁盘是 32 GB。

在 CFdisk 中使用键盘上的方向键选择需要分配的空间。你找到后,请使用箭头键选择 [ NEW ],然后按 Enter 键。

cfdisk-create-root-partition

该程序会要求你输入分区大小。一旦你指定好大小后,按 Enter 键。这将被称为根分区(或 /dev/sdb1)。

接下来该创建 home 分区(/dev/sdb2)了。你需要在 CFdisk 中再选择一些空闲分区。使用箭头选择 [ NEW ] 选项,然后按 Enter 键。输入你的 home 分区的大小,然后按 Enter 键来创建它。

cfdisk-create-home-partition

最后,需要创建交换分区。像前两次一样,先找一些空闲分区,并使用箭头选择 [ NEW ] 选项。之后,算下你 Linux 想使用多大的交换分区。

注意: 交换分区通常和计算机的内存差不多大。

cfdisk-specify-partition-type-swap

现在,创建了交换分区,该指定其类型。使用上下箭头来选择它。之后,使用左右箭头选择 [ TYPE ] 。找到 Linux swap 选项,然后按 Enter 键。

cfdisk-write-partition-table

所有分区创建后。然后就是将其写入到磁盘。使用右箭头键,选择 [ WRITE ] 选项,然后按 Enter 键。这将直接将新创建的分布写入到磁盘中。

使用 mkfs 创建文件系统

有时候,你并不需要一个整个重新分区,你只想要创建一个文件系统而已。你可以在终端直接使用 mkfs 命令来实现。

cfdisk-mkfs-list-partitions-lsblk

首先,找出你要使用的磁盘。在终端输入 lsblk 找出来。它会打印出列表,之后只要找到你想创建文件系统的分区或盘符。

在这个例子中,我将使用第二个硬盘的 /dev/sdb1 作为第一个分区。可以对 /dev/sdb 使用 mkfs(这将会使用整个分区)。

cfdisk-mkfs-make-file-system-ext4

要在一个特定的分区上创建新文件系统,只需输入

sudo mkfs.ext4 /dev/sdb1

在终端。应当指出的是,mkfs.ext4 可以换成任何你想要使用的的文件系统。

结论

虽然使用图形工具编辑文件系统和分区更容易,但终端可以说是更有效的。终端的加载速度更快,点击几个按钮即可。GParted 和其它工具一样,它也是一个完整的工具。我希望在本教程的帮助下,你会明白如何在终端中高效的编辑文件系统。

你是否更喜欢使用基于终端的方法在 Linux 上编辑分区?不管是不是,请在下面告诉我们。


via: https://www.maketecheasier.com/create-file-systems-partitions-terminal-linux/

作者:Derrik Diener 译者:strugglingyouth 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在本篇文章中,我们将讨论在 RHEL 7 中如何使用传统的工具来设置和配置本地系统存储,并介绍系统存储管理器(也称为 SSM),它将极大地简化上面的任务。

配置和加密系统存储

RHCSA: 配置和加密系统存储 – Part 6

请注意,我们将在这篇文章中展开这个话题,但由于该话题的宽泛性,我们将在下一期中继续介绍有关它的描述和使用。

在 RHEL 7 中创建和修改分区

在 RHEL 7 中, parted 是默认的用来处理分区的程序,且它允许你:

  • 展示当前的分区表
  • 操纵(扩大或缩小分区的大小)现有的分区
  • 利用空余的磁盘空间或额外的物理存储设备来创建分区

强烈建议你在试图增加一个新的分区或对一个现有分区进行更改前,你应当确保该设备上没有任何一个分区正在使用(umount /dev/分区),且假如你正使用设备的一部分来作为 swap 分区,在进行上面的操作期间,你需要将它禁用(swapoff -v /dev/分区) 。

实施上面的操作的最简单的方法是使用一个安装介质例如一个 RHEL 7 的 DVD 或 USB 安装盘以急救模式启动 RHEL(TroubleshootingRescue a Red Hat Enterprise Linux system),然后当让你选择一个选项来挂载现有的 Linux 安装时,选择“跳过”这个选项,接着你将看到一个命令行提示符,在其中你可以像下图显示的那样开始键入与在一个未被使用的物理设备上创建一个正常的分区时所用的相同的命令。

RHEL 7 急救模式

RHEL 7 急救模式

要启动 parted,只需键入:

# parted /dev/sdb

其中 /dev/sdb 是你将要创建新分区所在的设备;然后键入 print 来显示当前设备的分区表:

创建新的分区

创建新的分区

正如你所看到的那样,在这个例子中,我们正在使用一个 5 GB 的虚拟驱动器。现在我们将要创建一个 4 GB 的主分区,然后将它格式化为 xfs 文件系统,它是 RHEL 7 中默认的文件系统。

你可以从一系列的文件系统中进行选择。你将需要使用 mkpart 来手动地创建分区,接着和平常一样,用 mkfs.类型 来对分区进行格式化,因为 mkpart 并不支持许多现代的文件系统的到即开即用。

在下面的例子中,我们将为设备设定一个标记,然后在 /dev/sdb 上创建一个主分区 (p),它从设备的 0% 开始,并在 4000MB(4 GB) 处结束。

在 Linux 中设定分区名称

标记分区的名称

接下来,我们将把分区格式化为 xfs 文件系统,然后再次打印出分区表,以此来确保更改已被应用。

# mkfs.xfs /dev/sdb1
# parted /dev/sdb print

在 Linux 中格式化分区

格式化分区为 XFS 文件系统

对于旧一点的文件系统,在 parted 中你可以使用 resize 命令来改变分区的大小。不幸的是,这只适用于 ext2, fat16, fat32, hfs, linux-swap, 和 reiserfs (若 libreiserfs 已被安装)。

因此,改变分区大小的唯一方式是删除它然后再创建它(所以,确保你对你的数据做了完整的备份!)。毫无疑问,在 RHEL 7 中默认的分区方案是基于 LVM 的。

使用 parted 来移除一个分区,可以用:

# parted /dev/sdb print
# parted /dev/sdb rm 1

在 Linux 中移除分区

移除或删除分区

逻辑卷管理(LVM)

一旦一个磁盘被分好了分区,再去更改分区的大小就是一件困难或冒险的事了。基于这个原因,假如我们计划在我们的系统上对分区的大小进行更改,我们应当考虑使用 LVM 的可能性,而不是使用传统的分区系统。这样多个物理设备可以组成一个逻辑组,以此来存放任意数目的逻辑卷,而逻辑卷的增大或减少不会带来任何麻烦。

简单来说,你会发现下面的示意图对记住 LVM 的基础架构或许有用。

LVM 的基本架构

LVM 的基本架构

创建物理卷,卷组和逻辑卷

遵循下面的步骤是为了使用传统的卷管理工具来设置 LVM。由于你可以通过阅读这个网站上的 LVM 系列来扩展这个话题,我将只是概要的介绍设置 LVM 的基本步骤,然后与使用 SSM 来实现相同功能做个比较。

: 我们将使用整个磁盘 /dev/sdb/dev/sdc 来作为物理卷(PV),但是否执行相同的操作完全取决于你。

1. 使用 /dev/sdb 和 /dev/sdc 中 100% 的可用磁盘空间来创建分区 /dev/sdb1/dev/sdc1

# parted /dev/sdb print
# parted /dev/sdc print

创建新分区

创建新分区

2. 分别在 /dev/sdb1 和 /dev/sdc1 上共创建 2 个物理卷。

# pvcreate /dev/sdb1
# pvcreate /dev/sdc1

创建两个物理卷

创建两个物理卷

记住,你可以使用 pvdisplay /dev/sd{b,c}1 来显示有关新建的物理卷的信息。

3. 在上一步中创建的物理卷之上创建一个卷组(VG):

# vgcreate tecmint_vg /dev/sd{b,c}1

在 Linux 中创建卷组

创建卷组

记住,你可使用 vgdisplay tecmint\_vg 来显示有关新建的卷组的信息。

4. 像下面那样,在卷组 tecmint\_vg 之上创建 3 个逻辑卷(LV):

# lvcreate -L 3G -n vol01_docs tecmint_vg       [vol01_docs → 3 GB]
# lvcreate -L 1G -n vol02_logs tecmint_vg       [vol02_logs → 1 GB]
# lvcreate -l 100%FREE -n vol03_homes tecmint_vg    [vol03_homes → 6 GB]

在 LVM 中创建逻辑卷

创建逻辑卷

记住,你可以使用 lvdisplay tecmintvg 来显示有关在 tecmintvg 之上新建的逻辑卷的信息。

5. 格式化每个逻辑卷为 xfs 文件系统格式(假如你计划在以后将要缩小卷的大小,请别使用 xfs 文件系统格式!):

# mkfs.xfs /dev/tecmint_vg/vol01_docs
# mkfs.xfs /dev/tecmint_vg/vol02_logs
# mkfs.xfs /dev/tecmint_vg/vol03_homes

6. 最后,挂载它们:

# mount /dev/tecmint_vg/vol01_docs /mnt/docs
# mount /dev/tecmint_vg/vol02_logs /mnt/logs
# mount /dev/tecmint_vg/vol03_homes /mnt/homes

移除逻辑卷,卷组和物理卷

7.现在我们将进行与刚才相反的操作并移除逻辑卷、卷组和物理卷:

# lvremove /dev/tecmint_vg/vol01_docs
# lvremove /dev/tecmint_vg/vol02_logs
# lvremove /dev/tecmint_vg/vol03_homes
# vgremove /dev/tecmint_vg
# pvremove /dev/sd{b,c}1

8. 现在,让我们来安装 SSM,我们将看到如何只用一步就完成上面所有的操作!

# yum update && yum install system-storage-manager

我们将和上面一样,使用相同的名称和大小:

# ssm create -s 3G -n vol01_docs -p tecmint_vg --fstype ext4 /mnt/docs /dev/sd{b,c}1
# ssm create -s 1G -n vol02_logs -p tecmint_vg --fstype ext4 /mnt/logs /dev/sd{b,c}1
# ssm create -n vol03_homes -p tecmint_vg --fstype ext4 /mnt/homes /dev/sd{b,c}1

是的! SSM 可以让你:

  • 初始化块设备来作为物理卷
  • 创建一个卷组
  • 创建逻辑卷
  • 格式化逻辑卷,以及
  • 只使用一个命令来挂载它们

9. 现在,我们可以使用下面的命令来展示有关物理卷、卷组或逻辑卷的信息:

# ssm list dev
# ssm list pool
# ssm list vol

检查有关物理卷、卷组或逻辑卷的信息

检查有关物理卷、卷组或逻辑卷的信息

10. 正如我们知道的那样, LVM 的一个显著的特点是可以在不停机的情况下更改(增大或缩小)逻辑卷的大小:

假定在 vol02logs 上我们用尽了空间,而 vol03homes 还留有足够的空间。我们将把 vol03homes 的大小调整为 4 GB,并使用剩余的空间来扩展 vol02logs:

# ssm resize -s 4G /dev/tecmint_vg/vol03_homes

再次运行 ssm list pool,并记录 tecmint\_vg 中的剩余空间的大小:

查看卷的大小

查看卷的大小

然后执行:

# ssm resize -s+1.99 /dev/tecmint_vg/vol02_logs

: 在 -s 后的加号暗示特定值应该被加到当前值上。

11. 使用 ssm 来移除逻辑卷和卷组也更加简单,只需使用:

# ssm remove tecmint_vg

这个命令将返回一个提示,询问你是否确认删除卷组和它所包含的逻辑卷:

移除逻辑卷和卷组

移除逻辑卷和卷组

管理加密的卷

SSM 也给系统管理员提供了为新的或现存的卷加密的能力。首先,你将需要安装 cryptsetup 软件包:

# yum update && yum install cryptsetup

然后写出下面的命令来创建一个加密卷,你将被要求输入一个密码来增强安全性:

# ssm create -s 3G -n vol01_docs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/docs /dev/sd{b,c}1
# ssm create -s 1G -n vol02_logs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/logs /dev/sd{b,c}1
# ssm create -n vol03_homes -p tecmint_vg --fstype ext4 --encrypt luks /mnt/homes /dev/sd{b,c}1

我们的下一个任务是往 /etc/fstab 中添加条目来让这些逻辑卷在启动时可用,而不是使用设备识别编号(/dev/something)。

我们将使用每个逻辑卷的 UUID (使得当我们添加其他的逻辑卷或设备后,我们的设备仍然可以被唯一的标记),而我们可以使用 blkid 应用来找到它们的 UUID:

# blkid -o value UUID /dev/tecmint_vg/vol01_docs
# blkid -o value UUID /dev/tecmint_vg/vol02_logs
# blkid -o value UUID /dev/tecmint_vg/vol03_homes

在我们的例子中:

找到逻辑卷的 UUID

找到逻辑卷的 UUID

接着,使用下面的内容来创建 /etc/crypttab 文件(请更改 UUID 来适用于你的设置):

docs UUID=ba77d113-f849-4ddf-8048-13860399fca8 none
logs UUID=58f89c5a-f694-4443-83d6-2e83878e30e4 none
homes UUID=92245af6-3f38-4e07-8dd8-787f4690d7ac none

然后在 /etc/fstab 中添加如下的条目。请注意到 devicename (/dev/mapper/devicename) 是出现在 /etc/crypttab 中第一列的映射标识:

# Logical volume vol01_docs:
/dev/mapper/docs        /mnt/docs       ext4    defaults        0       2
# Logical volume vol02_logs
/dev/mapper/logs        /mnt/logs       ext4    defaults        0       2
# Logical volume vol03_homes
/dev/mapper/homes       /mnt/homes      ext4    defaults        0       2

现在重启(systemctl reboot),则你将被要求为每个逻辑卷输入密码。随后,你可以通过检查相应的挂载点来确保挂载操作是否成功:

确保逻辑卷挂载点

确保逻辑卷挂载点

总结

在这篇教程中,我们开始探索如何使用传统的卷管理工具和 SSM 来设置和配置系统存储,SSM 也在一个软件包中集成了文件系统和加密功能。这使得对于任何系统管理员来说,SSM 是一个非常有价值的工具。

假如你有任何的问题或评论,请让我们知晓 – 请随意使用下面的评论框来与我们保存联系!


via: http://www.tecmint.com/rhcsa-exam-create-format-resize-delete-and-encrypt-partitions-in-linux/

作者:Gabriel Cánepa 译者:FSSlc 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出