搜索

24.2. 删除块设备和相关元数据

download PDF

要从正在运行的系统中安全地删除块设备,以帮助防止系统内存过载和数据丢失,您需要首先从它们中删除元数据。从文件系统开始,处理堆栈中的每个层,然后继续到磁盘。这些操作可防止将您的系统处于不一致的状态。

根据您要删除的设备类型,使用可能不同的特定命令:

  • lvremovevgremovepvremove 特定于 LVM。
  • 对于软件 RAID,请运行 mdadm 以删除该阵列。如需更多信息,请参阅 管理 RAID
  • 对于使用 LUKS 加密的块设备,有特定的额外步骤。以下流程不适用于使用 LUKS 加密的块设备。如需更多信息,请参阅使用 LUKS 加密块设备
警告

重新扫描 SCSI 总线或执行更改操作系统状态的其他操作,而无需遵循这个流程,因为 I/O 超时、设备被意外删除或数据丢失。

先决条件

  • 您有一个现有的块设备堆栈,其中包含文件系统、逻辑卷和卷组。
  • 您确定没有其他应用程序或服务正在使用您要删除的设备。
  • 您从您要删除的设备备份了数据。
  • 可选:如果要删除多路径设备,且您无法访问其路径设备,请运行以下命令来禁用多路径设备的队列:

    # multipathd disablequeueing map multipath-device

    这可让设备的 I/O 失败,允许使用该设备的应用程序关闭。

注意

一次删除其元数据层的设备,确保不会在磁盘上保留过时的签名。

流程

  1. 卸载文件系统:

    # umount /mnt/mount-point
  2. 删除文件系统:

    # wipefs -a /dev/vg0/myvol
    注意

    如果您已在 /etc/fstab 文件中添加一个条目,以便在文件系统和挂载点之间永久关联,您还应在此点编辑 /etc/fstab 以删除该条目。

    根据您要删除的设备类型,继续执行以下步骤:

  3. 删除包含文件系统的逻辑卷(LV):

    # lvremove vg0/myvol
  4. 如果卷组中没有剩余的其他逻辑卷(VG),您可以安全地删除包含该设备的 VG:

    # vgremove vg0
  5. 从 PV 设备中删除物理卷(PV)元数据:

    # pvremove /dev/sdc1
    # wipefs -a /dev/sdc1
  6. 删除包含 PV 的分区:

    # parted /dev/sdc rm 1
注意

只有在您要完全擦除该设备时,才按照以下步骤操作。

  1. 删除分区表:

    # wipefs -a /dev/sdc
注意

只有在您想要物理删除该设备时,才按照以下步骤操作。

  • 如果您要删除多路径设备,请执行以下命令:

    1. 查看该设备的所有路径:

      # multipath -l

      稍后需要这个命令的输出。

      1. 清除 I/O 并删除多路径设备:

        # multipath -f multipath-device
  • 如果该设备没有配置为多路径设备,或者设备配置为多路径设备,并且您之前将 I/O 传递给单个路径,请将任何未完成的 I/O 刷新到所有使用的设备路径:

    # blockdev --flushbufs device

    对于直接访问的设备非常重要,umountvgreduce 命令不会清除 I/O。

  • 如果您要删除 SCSI 设备,请执行以下命令:

    1. 删除对基于路径的设备名称的任何引用,如 /dev/sd/dev/disk/by-pathmajor:minor number(在系统上的应用程序、脚本或工具中)。这样可保证以后添加的不同设备不会为当前的设备错误。
    2. 从 SCSI 子系统中删除该设备的每个路径:

      # echo 1 > /sys/block/device-name/device/delete

      此处,如果设备之前用作多路径设备,则 device-namemultipath -l 命令的输出中检索。

  1. 从正在运行的系统中删除物理设备。请注意,当您删除此设备时,I/O 到其它设备不会停止。

验证

  • 验证您要删除的设备是否没有显示 lsblk 命令的输出。以下是一个输出示例:

    # lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0    5G  0 disk
    sr0     11:0    1 1024M  0 rom
    vda    252:0    0   10G  0 disk
    |-vda1 252:1    0    1M  0 part
    |-vda2 252:2    0  100M  0 part /boot/efi
    `-vda3 252:3    0  9.9G  0 part /

其他资源

  • multipath (8), pvremove (8), vgremove (8), lvremove (8), wipefs (8), parted (8), blockdev (8)umount (8) man page.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.