如何安全的删除Linux LVM中的PV物理卷?

如何安全的删除Linux LVM中的PV物理卷?,第1张

一、由于硬盘或者分区的 *** 作方式其实都一样,所以就以分区为例。

二、/home分区2.6G,由如下pv组成:

/dev/sda5 100M

/dev/sda6 200M

/dev/sda7 300M

/dev/sda8 400M

/dev/sda9 500M

/dev/sda10 600M

/dev/sda11 500M

很碎对吧?^_^因为测试。

三、随机写了一堆文件进去,用量达到了2G,空闲500M

四、准备将sda6这个200M的PV卸掉(卸掉的容量必须小于空闲容量)

好了开始具体 *** 作了。

卸载分区(缩小 *** 作必须卸载才能进行):

umount /home

缩小分区:

e2fsck -f /dev/liuhg_disk/home

resize2fs /dev/liuhg_disk/home 2200M

首先将分区缩小到2200M这是为了给sda6腾出空间,sda6为200M,而我腾出了400M,因此应该是足够的。

缩小逻辑卷:

lvreduce -L 2200M /dev/liuhg_disk/home

分区缩小了用到的逻辑卷也要随着缩小,并查看PV使用的状态:

pvdisplay -m

显示如下:

--- Physical volume ---

PV Name /dev/sda5

VG Name liuhg_disk

PV Size 103.26 MiB / not usable 3.26 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 25

Free PE 0

Allocated PE 25

PV UUID 5lnx52-b4jc-OOfZ-f2QA-ttdQ-DZeD-Ce3rb3

--- Physical Segments ---

Physical extent 0 to 24:

Logical volume /dev/liuhg_disk/home

Logical extents 0 to 24

--- Physical volume ---

PV Name /dev/sda6

VG Name liuhg_disk

PV Size 203.92 MiB / not usable 3.92 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 50

Free PE 0 <-----太悲剧了,sda6里写满了数据一点不剩

Allocated PE 50 <-----这50PE的数据要挪走才行,否则数据就丢了,并且存放的地方也必须是连续的至少50PE

PV UUID S2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK

--- Physical Segments ---

Physical extent 0 to 49:

Logical volume /dev/liuhg_disk/home

Logical extents 25 to 74

--- Physical volume ---

PV Name /dev/sda7

VG Name liuhg_disk

PV Size 305.89 MiB / not usable 1.89 MiB

Allocatable yes

PE Size 4.00 MiB

Total PE 76

Free PE 76 <---这个分区有76个空余,因此预计装那50个是不会有问题的

Allocated PE 0

PV UUID 9CFnlx-CAEw-CSul-Rig9-FiCN-zK0a-oGmTEP

--- Physical Segments ---

Physical extent 0 to 75:

FREE

--- Physical volume ---

PV Name /dev/sda8

VG Name liuhg_disk

PV Size 407.87 MiB / not usable 3.87 MiB

Allocatable yes

PE Size 4.00 MiB

Total PE 101

Free PE 60

Allocated PE 41

PV UUID X0I8p0-x2xr-2xLG-QQD4-jbtS-3C4i-xPn4Bl

--- Physical Segments ---

Physical extent 0 to 40:

Logical volume /dev/liuhg_disk/home

Logical extents 471 to 511

Physical extent 41 to 100:

FREE

--- Physical volume ---

PV Name /dev/sda9

VG Name liuhg_disk

PV Size 509.84 MiB / not usable 1.84 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 127

Free PE 0

Allocated PE 127

PV UUID avJQaA-oMKt-NEoJ-ojBK-2Csc-1dca-1mh6Ue

--- Physical Segments ---

Physical extent 0 to 126:

Logical volume /dev/liuhg_disk/home

Logical extents 225 to 351

--- Physical volume ---

PV Name /dev/sda10

VG Name liuhg_disk

PV Size 603.98 MiB / not usable 3.98 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 150

Free PE 0

Allocated PE 150

PV UUID JlMIAF-A49n-M6HA-ZLXf-d8nS-pfZr-YeQsKT

--- Physical Segments ---

Physical extent 0 to 149:

Logical volume /dev/liuhg_disk/home

Logical extents 75 to 224

--- Physical volume ---

PV Name /dev/sda11

VG Name liuhg_disk

PV Size 478.47 MiB / not usable 2.47 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 119

Free PE 0

Allocated PE 119

PV UUID xnHJNA-tDVx-dryX-KM1x-g96Y-sptI-9iUOcU

--- Physical Segments ---

Physical extent 0 to 118:

Logical volume /dev/liuhg_disk/home

Logical extents 352 to 470

将sda6设置为离线状态:

pvchange -xn /dev/sda6

使用pvdisplay -m

显示如下:

??

--- Physical volume ---

PV Name /dev/sda6

VG Name liuhg_disk

PV Size 203.92 MiB / not usable 3.92 MiB

Allocatable NO <-----表示已经关闭了该PV

PE Size 4.00 MiB

Total PE 50

Free PE 0

Allocated PE 50

PV UUID S2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK

??

将sda6的数据移走:

pvmove -i 1 /dev/sda6

-i 1是每1秒钟报告一次数据迁移的进度。

[root@liuhg /]# pvmove -i 1 /dev/sda6

/dev/sda6: Moved: 38.0%

/dev/sda6: Moved: 84.0%

/dev/sda6: Moved: 100.0%

重新用pvdisplay -m

显示如下:

??

--- Physical volume ---

PV Name /dev/sda6

VG Name liuhg_disk

PV Size 203.92 MiB / not usable 3.92 MiB

Allocatable NO

PE Size 4.00 MiB

Total PE 50

Free PE 50 <----显示完全空闲和Total PE数一致

Allocated PE 0

PV UUID S2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK

??

从卷组里把sda6删除:

[root@liuhg /]# vgreduce liuhg_disk /dev/sda6

Removed "/dev/sda6" from volume group "liuhg_disk"

pvdisplay -m再看看吧:

--- NEW Physical volume --- <-----还告诉你这是一个新的PV ^_^

PV Name /dev/sda6

VG Name <-----空了

PV Size 203.92 MiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID S2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK

到此vgdisplay -v能看到已经没有了/dev/sda6了。重新挂载/home

[root@liuhg /]# mount /dev/liuhg_disk/home /home

[root@liuhg /]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 2.0G 546M 1.3G 30% /

tmpfs 504M 0 504M 0% /dev/shm

/dev/mapper/liuhg_disk-home

2.2G 1.8G 42M 98% /home

进去看看数据,一个都没丢。

1. shred – 覆盖文件以隐藏内容

shred可覆盖文件以隐藏内容,另外还可以删除文件。

$ shred -zvu -n 5 passwords.list

这个命令包括的几个选项有:

-z – 最后一次覆盖添加0,以隐藏覆盖 *** 作

-v – 能够显示 *** 作进度

-u – 覆盖后截断并删除文件

-n – 指定覆盖文件内容的次数(默认值是3次)

shred – 覆盖文件以隐藏内容。

你可以在shred的参考手册页找到更多的使用选项和信息:

$ man shred

2. wipe – 安全地擦除Linux下的文件

Linux的wipe命令,可安全地删除磁存储器中的文件,后续无法恢复已删除文件或目录的内容。

首先,你需要安装wipe工具才能使用它,运行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]

$ sudo yum install wipe [在基于RedHat的系统上]

下面这个命令将擦除目录private下面的一切内容。

$ wipe -rfi private/*

相关标志的用法如下:

-r – 告诉wipe递归查询子目录

-f – 启用强行删除,并禁用确认查询

-i – 显示删除过程的进度

wipe – 安全地删除Linux下的文件

注意:wipe只能适用于磁存储器,对于固态磁盘要使用其他方法。

仔细阅读wipe的参考手册页,了解更多的使用选项和使用说明:

$ man wipe

3. 面向Linux的secure-deletetion工具包

secure-delete是一套安全文件删除工具,包含SRM(secure_deletion)工具,它是用来安全地删除文件。

首先,你要安装它,为此使用下面这个相关命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]

$ sudo yum install secure-delete [在基于RedHat的系统上]

一旦安装完毕,你可以使用srm工具,在Linux系统上安全地删除文件或目录,如下所示。

$ srm -vz private/*

使用的选项如下:

-v – 启用详细信息模式

-z – 用0而不是随机数据擦除上一次写入的内容

srm – 安全删除Linux下的文件

仔细阅读srm的参考手册页,了解更多的使用选项和信息:

$ man srm

4. sfill –安全免费的磁盘/索引节点空间擦除工具

ffill是secure-deletetion工具包的一部分,它是一种安全免费的磁盘和索引节点空间擦除工具,可以安全地删除闲置磁盘空间上的文件。sfill可检查指定分区上的闲置空间,并用来自/dev/urandom的随机数据来填充。

下面这个命令将在我的根分区上执行sfill,-v参数选项符启用详细信息模式:

$ sudo sfill -v /home/aaronkilik/tmp/

假设你创建了一个单独的分区,/home用来存储平常的系统用户主目录,那么你可以在该分区上指定一个目录,对它进行sfill *** 作:

$ sudo sfill -v /home/username

sfill有几个局限性,参考手册页中有说明,你还能找到另外的使用标志和 *** 作说明:

$ man sfill

注意:secure-deletetion工具包中的下面两个工具(sswap和sdmem)与本文并不直接有关,不过我们会介绍它们,也许将来用得着。

5. sswap – 安全交换分区擦除工具

这是一个安全分区擦除工具,sswap删除的数据驻留在交换分区上的数据。

警告:记得在使用sswap之前先卸载掉你的交换分区!不然系统可能会崩溃!

只要确定你的交换分区(并使用swapon命令,核实分页和交换设备/文件是否开启),下一步,使用swapoff命令,禁用分页和交换设备/文件。

然后,在交换分区上运行sswap命令:

$ cat /proc/swaps

$ swapon

$ sudo swapoff /dev/sda6

$ sudo sswap /dev/sda6 #这个命令需要一段时间才能完成,默认情况下执行38趟

sswap – 安全交换分区擦除工具

确保仔细阅读sswap的参考手册页,了解更多的使用选项和信息:

$ man sswap

6. sdmem – 安全内存擦除工具

sdmem是安全内存擦除工具,它旨在安全地删除驻留在内存中的数据。

它原先名叫smem,但是在Debain系统上,有另一个程序包名叫smem(报告每个进程和每个用户的内存使用情况),于是开发人员将它改名为sdmem。

$ sudo sdmem -f -v

想了解更多的使用信息,请仔细阅读sdmem的参考手册页:

$ man sdmem

在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。

在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。

该文件只是对用户隐藏,它驻留在硬盘上的某个地方。它有可能被数据窃贼、执法取证或其它方式来恢复。

假设文件包含密级或机密内容,例如安全系统的用户名和密码,具有必要知识和技能的攻击者可以轻松地恢复删除文件的副本并访问这些用户凭证(你可以猜测到这种情况的后果)。

在本文中,我们将解释一些命令行工具,用于永久并安全地删除 Linux 中的文件。

1.shred – 覆盖文件来隐藏内容

shred 会覆盖文件来隐藏它的内容,并且也可以选择删除它。

在下面的命令中,选项有:

你可以在 shred 的帮助页中找到更多的用法选项和信息:

2.wipe – 在 Linux 中安全删除文件

wipe 命令可以安全地擦除磁盘中的文件,从而不可能恢复删除的文件或目录内容。

首先,你需要安装 wipe 工具,运行以下适当的命令:

下面的命令会销毁 private 目录下的所有文件。

当使用下面的标志时:

注意:wipe 仅可以在磁性存储上可以可靠地工作,因此对固态磁盘(内存)请使用其他方法。

阅读 wipe 手册以获取其他使用选项和说明:

3.Linux 中的安全删除工具集

secure-delete 是一个安全文件删除工具的集合,它包含用于安全删除文件的 srm(secure_deletion)工具。

首先,你需要使用以下相关命令安装它:

安装完成后,你可以使用 srm 工具在 Linux 中安全地删除文件和目录。

下面是使用的选项:

阅读 srm 手册来获取更多的使用选项和信息:

4.sfill -安全免费的磁盘 / inode 空间擦除器

sfill 是 secure-deletetion 工具包的一部分,是一个安全免费的磁盘和 inode 空间擦除器,它以安全的方法删除可用磁盘空间中的文件。 sfill 会检查指定分区上的可用空间,并使用来自 /dev/urandom 的随机数据填充它。

以下命令将在我的根分区上执行 sfill,使用`-v` 选项启用 verbose 模式:

假设你创建了一个单独的分区 /home 来存储正常的系统用户主目录,你可以在该分区上指定一个目录,以便在其上应用 sfill:

你可以在 sfill 的手册上看到一些限制,你也可以看到额外的使用标志和命令:

注意:secure-deletetion 工具包中的另外两个工具(sswap 和 sdmem)与本指南的范围不直接相关,但是,为了将来的使用和传播知识的目的,我们会在下面介绍它们。

5.sswap – 安全 swap 擦除器

它是一个安全的分区擦除器,sswap 以安全的方式删除 swap 分区上存在的数据。

警告:请记住在使用 sswap 之前卸载 swap 分区! 否则你的系统可能会崩溃!

要找到交换分区(并检查分页和交换设备/文件是否已经使用,请使用swapon 命令),接下来,使用swapoff 命令禁用分页和交换设备/文件(使 swap 分区不可用)。

然后在(关闭的) swap 分区上运行sswp 命令:

阅读 sswap 的手册来获取更多的选项和信息:

6. sdmem – 安全内存擦除器

sdmem 是一个安全的内存擦除器,其设计目的是以安全的方式删除存储器(RAM)中的数据。

它最初命名为 smem,但是因为在 Debain 系统上存在另一个包 smem – 报告每个进程和每个用户的内存消耗,开发人员决定将它重命名为 sdmem。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7273791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存