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

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

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

在 RHEL 7 中创建和修改分区

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

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

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

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

RHEL 7 急救模式

要启动 parted,只需键入:

  1. # parted /dev/sdb

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

创建新的分区

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

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

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

标记分区的名称

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

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

格式化分区为 XFS 文件系统

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

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

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

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

移除或删除分区

逻辑卷管理(LVM)

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

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

LVM 的基本架构

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

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

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

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

  1. # parted /dev/sdb print
  2. # parted /dev/sdc print

创建新分区

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

  1. # pvcreate /dev/sdb1
  2. # pvcreate /dev/sdc1

创建两个物理卷

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

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

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

创建卷组

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

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

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

创建逻辑卷

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

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

  1. # mkfs.xfs /dev/tecmint_vg/vol01_docs
  2. # mkfs.xfs /dev/tecmint_vg/vol02_logs
  3. # mkfs.xfs /dev/tecmint_vg/vol03_homes

6. 最后,挂载它们:

  1. # mount /dev/tecmint_vg/vol01_docs /mnt/docs
  2. # mount /dev/tecmint_vg/vol02_logs /mnt/logs
  3. # mount /dev/tecmint_vg/vol03_homes /mnt/homes

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

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

  1. # lvremove /dev/tecmint_vg/vol01_docs
  2. # lvremove /dev/tecmint_vg/vol02_logs
  3. # lvremove /dev/tecmint_vg/vol03_homes
  4. # vgremove /dev/tecmint_vg
  5. # pvremove /dev/sd{b,c}1

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

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

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

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

是的! SSM 可以让你:

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

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

  1. # ssm list dev
  2. # ssm list pool
  3. # ssm list vol

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

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

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

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

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

查看卷的大小

然后执行:

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

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

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

  1. # ssm remove tecmint_vg

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

移除逻辑卷和卷组

管理加密的卷

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

  1. # yum update && yum install cryptsetup

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

  1. # ssm create -s 3G -n vol01_docs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/docs /dev/sd{b,c}1
  2. # ssm create -s 1G -n vol02_logs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/logs /dev/sd{b,c}1
  3. # 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:

  1. # blkid -o value UUID /dev/tecmint_vg/vol01_docs
  2. # blkid -o value UUID /dev/tecmint_vg/vol02_logs
  3. # blkid -o value UUID /dev/tecmint_vg/vol03_homes

在我们的例子中:

找到逻辑卷的 UUID

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

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

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

  1. # Logical volume vol01_docs:
  2. /dev/mapper/docs /mnt/docs ext4 defaults 0 2
  3. # Logical volume vol02_logs
  4. /dev/mapper/logs /mnt/logs ext4 defaults 0 2
  5. # Logical volume vol03_homes
  6. /dev/mapper/homes /mnt/homes ext4 defaults 0 2

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

确保逻辑卷挂载点

总结

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

本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-09-21 08:23

RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储相关推荐

  1. linux nfs acl 特定ip,技术|RHCSA 系列(七): 使用 ACL(访问控制列表) 和挂载 Samba/NFS 共享...

    在上一篇文章(RHCSA 系列(六))中,我们解释了如何使用 parted 和 ssm 来设置和配置本地系统存储. RHCSA 系列: 配置 ACL 及挂载 NFS/Samba 共享 – Part 7 ...

  2. Silverlight Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效...

    原文:Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化.波感特效 当我们在进行Silverlight & Bl ...

  3. xen虚拟化实战系列(六)之xen虚拟机破解密码

    xen虚拟化实战系列文章列表 xen虚拟化实战系列(一)之xen虚拟化环境安装 xen虚拟化实战系列(二)之xen虚拟机安装 xen虚拟化实战系列(三)之xen虚拟机复制 xen虚拟化实战系列(四)之 ...

  4. linux 7 没有权限访问,技术|RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

    RHCSA 认证:SELinux 精要和控制文件系统的访问 尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhance ...

  5. 数学之美系列六 -- 图论和网络爬虫 (Web Crawlers)

    数学之美系列六 -- 图论和网络爬虫 (Web Crawlers) [离散数学是当代数学的一个重要分支,也是计算机科学的数学基础.它包括数理逻辑.集合论.图论和近世代数四个分支.数理逻辑基于布尔运算, ...

  6. [CentOS Python系列] 六.阿里云搭建Django网站详解

    本篇文章主要介绍讲述部署阿里云服务器Django网站环境,并通过IP地址访问网页的过程.写代码过程中往往第一步需要解决的就是配置开发环境,对于新手来说,这是非常头疼的事情,而当配置好之后或者对于老手来 ...

  7. RHCSA 系列(十四): 在 RHEL 7 中设置基于 LDAP 的认证

    在这篇文章中,我们将首先罗列一些 LDAP 的基础知识(它是什么,它被用于何处以及为什么会被这样使用),然后向你展示如何使用 RHEL 7 系统来设置一个 LDAP 服务器以及配置一个客户端来使用它达 ...

  8. 2013年最值得我们学习的网页作品示例【系列六】

    这是本系列的最后一篇文章了,和大家一起学习2013年里最优秀的网页设计作品.在过去的一年,网页设计领域出现了几个新的流行趋势,最热门的要数响应式设计(Responsive Design)和扁平化设计( ...

  9. Web前端开发人员和设计师必读文章推荐【系列六】

    这篇文章收录了十一月份发布在梦想天空的优秀文章,特别推荐给Web开发人员和设计师阅读.梦天空博客关注前端开发技术,展示最新HTML5和CSS3技术应用,分享实用的jQuery插件,推荐优秀的网页设计案 ...

最新文章

  1. mysql日志是什么格式_Mysql日志的三种格式
  2. 关系数据 规范化的理解
  3. android JNI层线程回调Java函数
  4. python文件处理系列(二):Excel文件读取库xlwings
  5. python刷抖音_用Python生成抖音字符视频!
  6. qa/qc_专业QA如何实施可靠的CI / CD管道?
  7. css中的em 简单教程 -- 转
  8. BOM 之 screen history
  9. 猿创征文|工具在手,天下我有(初入职场必备的黑科技工具)
  10. 不同形式弧微分的求解
  11. pdf不预览直接打印(笔记记录)
  12. 编辑器 的保存怎么绑定事件_135编辑器有哪些可以快速提升新媒体小编工作效率的功能?...
  13. 汉语言文学的毕业论文有创意的选题有哪些?推荐一下?
  14. 教育知识与能力-第七章 中学德育
  15. loading遮不住dialog
  16. 利用ADS快速设计低噪放
  17. C、C++、JAVA
  18. Android——广播(BroadcastReceiver)
  19. 计算机行业未来就业前景在哪?哪些语言还在吃香?
  20. 就 3 点,提升工作效率

热门文章

  1. 纯干货|目前看到的BERT比较透彻的文章,强烈推荐
  2. 线性回归模型原理及推导
  3. CNN中,1X1卷积核到底有什么作用呢?
  4. 卷积神经网络(CNN)的原理
  5. 吴恩达机器学习笔记 —— 18 大规模机器学习
  6. SAP LSMW 事务代码HUPAST的录屏后台执行报错 - Runtime error RAISE_EXCEPTION has occurred - 之分析
  7. 人类将可能操控AI?神经网络语言处理工作原理被破解
  8. 干货丨详解世界各国的人工智能布局
  9. 斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问...
  10. 机器学习漫谈:还有很长的路要走