标签: partition

在linux中,如何确定哪些进程正在使用块设备?

我的服务器中有一个磁盘,我正在将其迁移到 LVM 卷组。以前,它使用传统的 DOS 磁盘分区,hdb[1-5].

我已经从 卸载了每个文件系统hdb,使用 关闭了交换hdb,已经删除了设备上的一个较小的 VG,然后使用 fdisk 对其进行了重新分区,删除了现有分区,并创建了 2 个分区,但是在将其写出后,linux 拒绝重新分区读取分区表。使用报告重试hdparm -zBLKRRPART failed: Device or resource busy.

我已检查以下位置以确保设备及其分区未在任何地方列出:

  • /proc/交换
  • /proc/mdadm
  • “pvs”命令的输出
  • “mount”命令的输出
  • /etc/mtab
  • lsof | grep hdb

cat /proc/partitions仍然列出分区,并且hdparm -z /dev/hdb仍然让我设备繁忙。

是否有什么我遗失的东西,或者一个我还不知道的秘密地方,可以找到我的块设备上仍然保留着的东西?更重要的是,如何释放它的保留以便重新加载分区表?

FWIW,在这种特定情况下,我可以简单地重新启动服务器而不必担心,但这之前一直困扰着我,我很好奇是否有更好的方法。

(编辑:添加了更精确的措辞)(编辑:重新分区的详细信息)

更新:我使用了partprobe /dev/hdb,它确实改变了一些事情:在 /dev /hdb1 中,/deb/hdb[3-5] 现在消失了,partprobe 正在报告Error: Error informing the kernel about modifications to partition /dev/hdb1 -- Device or resource busy.<-- 特别是关于 hdb1。hdb1 以前是 LVM 卷组 …

linux partition lvm

5
推荐指数
1
解决办法
2万
查看次数

无法在 PowerShell 中初始化磁盘:Initialize-Disk 抛出“磁盘已初始化”

我尝试使用 PowerShell 将闪存驱动器的分区样式更改为 GPT,但 cmdlet 会抛出“磁盘已初始化”(即使我已经清理了驱动器):

PS C:\WINDOWS\system32> Clear-Disk 5 -RemoveData -RemoveOEM

PS C:\WINDOWS\system32> Get-Disk 5

Number Friendly Name                            OperationalStatus                          Total Size Partition Style          
------ -------------                            -----------------                          ---------- ---------------          
5      UFD 2.0 Silicon-Power16G USB Device      Online                                       15.14 GB MBR     

PS C:\WINDOWS\system32> Initialize-Disk 5 -PartitionStyle GPT
Initialize-Disk : The disk has already been initialized.
At line:1 char:1
+ Initialize-Disk 5 -PartitionStyle GPT
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/Windows/Storage/MSFT_Disk) [Initialize-Disk], CimException
    + FullyQualifiedErrorId : StorageWMI 41001,Initialize-Disk
Run Code Online (Sandbox Code Playgroud)

如何取消初始化磁盘以便重新初始化它?

PS-PartitionStyle MBR显示同样的错误。

partition powershell hard-drive usb-flash-drive

5
推荐指数
1
解决办法
5397
查看次数

克隆 LVM 分区

我需要将 CentOS 安装从使用 LVM 分区的 1TB 磁盘克隆到几台相同的计算机。磁盘大部分是空的,因为只安装和配置了操作系统和一些软件。

如果没有 LVM,我会复制整个分区表,然后使用 partclone 逐个克隆分区:

sfdisk -d /dev/sda | sed -e 's/sda/sdb/' | sfdisk /dev/sdb
partclone.ext4 -c -s /dev/sda# -o - | partclone.ext4 -r -s - -o /dev/sdb#
Run Code Online (Sandbox Code Playgroud)

不过我认为它不适用于 LVM。

当然,我可以使用dd克隆整个磁盘:

dd if=/dev/sda of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)

但与partclone相比需要太多时间。

有没有办法更快地克隆 LVM 分区?我认为一种可能的解决方案是使用 dd 将 LVM 分区克隆到另一个磁盘中的常规分区,然后使用 partclone 将新磁盘克隆到其他计算机。但我不知道这样的事情是否会起作用:

dd if=/dev/mapper/vg_node07-lv_root of=/dev/sdb1
Run Code Online (Sandbox Code Playgroud)

能行吗?你能告诉我其他解决方案吗?

partition hard-drive cloning lvm dd

5
推荐指数
1
解决办法
3万
查看次数

如何在 Ubuntu 中创建 GPT 分区标签并使用其标签挂载分区?

我正在尝试为 GPT 分区分配一个分区标签,并使用该分区标签作为在 Ubuntu 14.04 中安装的标识符。

首先我设置 GPT 并在卷上创建一个分区:

~# parted /dev/vdb -s -- mklabel gpt
~# parted /dev/vdb -s -- mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.
Run Code Online (Sandbox Code Playgroud)

然后我将分区标签“TEST”分配给分区 1:

~# parted /dev/vdb -s -- name 1 TEST
Run Code Online (Sandbox Code Playgroud)

并用ext4格式化分区:

~# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214391 blocks
1310719 blocks (5.00%) reserved for the super …
Run Code Online (Sandbox Code Playgroud)

ubuntu partition mount gpt ubuntu-14.04

5
推荐指数
1
解决办法
1万
查看次数

Preseed Ubuntu / Debian - 分区:防止“分区 1 不在物理扇区边界上启动”。

预置 Ubuntu / Debian 工作正常 - 系统可启动。

fdisk -l结果如下:

Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000e157a

Device     Boot    Start       End  Sectors   Size Id Type
/dev/sda1             63    192779   192717  94.1M 83 Linux
/dev/sda2  *      192780   1172744   979965 478.5M 83 Linux
/dev/sda3        1172745  96470324 95297580  45.5G 83 Linux …
Run Code Online (Sandbox Code Playgroud)

ubuntu partition debian preseed partition-alignment

5
推荐指数
1
解决办法
1617
查看次数

如何映射哪个卷驻留在 Windows 中的哪个分区上?

问题:我需要弄清楚哪个卷对应哪个分区,哪个分区对应于一个非常有效的脚本庄园中的哪个磁盘。我知道如何对应哪个分区对应哪个磁盘,因为磁盘i​​d直接在一个简单的wmic查询的结果中。然而,问题的第一部分更加困难。如何关联哪个卷属于哪个分区?

有没有办法使用 wmic、PowerShell、cmd 提示符对哪个卷映射到哪个分区进行逆向工程,这适用于所有当前支持的 Windows Server 版本(Windows Server 2008R2 - Windows Server 2016)?

如果是这样,这个查询看起来如何?

使用 diskpart 获取信息不是一种选择。虽然它可以用来编写磁盘操作的脚本,但是使用 diskpart 作为返回有关磁盘配置信息的工具是很糟糕的。Diskpart 输出不可解析。

windows partition wmi disk-volume

5
推荐指数
1
解决办法
1466
查看次数

预置自动分区

partman多年来,我一直在使用以下设置来自动安装 VM:

d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman/alignment string "optimal"
d-i partman-auto/expert_recipe string                         \
      boot-root ::                                            \
              64 512 300% linux-swap                          \
                      $primary{ }                             \
                      method{ swap } format{ }                \
              .                                               \
              500 10000 1000000000 ext4                       \
                      $primary{ } $bootable{ }                \
                      method{ format } format{ }              \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ / }                         \
              .
d-i partman/confirm_write_new_label boolean …
Run Code Online (Sandbox Code Playgroud)

ubuntu partition supermicro preseed

5
推荐指数
2
解决办法
5089
查看次数

扩展Linux分区大小而不丢失任何数据/技术

我为我的OVH云服务器额外购买了200G磁盘,因为我的初始磁盘已满。

\n

现在,我的附加磁盘几乎已满(如下所示)。所以我又加了200G。如您所见,sdb 的大小现在为 400G。

\n

那么,如何在 sdb1(编辑:FS ext4)linux 分区中添加 200Gb,而不丢失其中的当前数据?

\n

当我跑步时:

\n
lsblk\n
Run Code Online (Sandbox Code Playgroud)\n

我得到:

\n
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT\nsda      8:0    0   200G  0 disk \n\xe2\x94\x94\xe2\x94\x80sda1   8:1    0   200G  0 part /\nsdb      8:16   0   400G  0 disk \n\xe2\x94\x94\xe2\x94\x80sdb1   8:17   0 199.5G  0 part /mnt\n
Run Code Online (Sandbox Code Playgroud)\n

linux partition hard-drive ovh extend

5
推荐指数
1
解决办法
6万
查看次数

Ubuntu 服务器仅使用部分可用磁盘空间

所以我的服务器中有一个 240 GB 的 SSD,但我注意到当我登录时它总是显示我
\nUsage of /: 56.6% of 108.79GB

\n

lsblk所以当我使用以下打印输出时,我开始更深入地研究:

\n
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT\nloop0                       7:0    0  52.4M  1 loop /snap/certbot/579\nloop1                       7:1    0  96.6M  1 loop /snap/core/9804\nloop2                       7:2    0  97.1M  1 loop /snap/core/9993\nloop3                       7:3    0  29.9M  1 loop /snap/snapd/8790\nloop4                       7:4    0  30.3M  1 loop /snap/snapd/9279\nloop5                       7:5    0    61M  1 loop /snap/core20/634\nloop6                       7:6    0  55.3M  1 loop /snap/core18/1885\nsda                         8:0    0 223.6G  0 disk\n\xe2\x94\x9c\xe2\x94\x80sda1                      8:1    0   512M  0 part /boot/efi\n\xe2\x94\x9c\xe2\x94\x80sda2                      8:2    0     1G  0 …
Run Code Online (Sandbox Code Playgroud)

ubuntu partition

5
推荐指数
1
解决办法
2万
查看次数

如何更改 RAID 1 中分区的文件系统?

首先,对不起,如果问题已经被问到并正确回答,我没有找到任何让我满意的东西。

我在数据中心租了一台专用机器,该机器运行 Debian 10 并在 RAID 1 中有两个驱动器,有 3 个分区:一个用于引导,一个用于交换,一个用于其余部分。

第三个 (/dev/md2) 使用 ext4 文件系统,我想改用 XFS。

我不习惯更改文件系统,这是我第一次拥有带有 RAID 的机器,所以我不知道该怎么做。

这是一个新安装,因此没有丢失数据的风险。

我尝试了一个,mkfs.xfs /dev/md2但没有用:

root@Debian-105-buster-64-minimal ~ # mkfs.xfs /dev/md2
mkfs.xfs: /dev/md2 contains a mounted filesystem
Run Code Online (Sandbox Code Playgroud)

而且我不知道由于 RAID 应该如何卸载/挂载。

预先感谢您的帮助。

df -Th命令:

root@Debian-105-buster-64-minimal ~ # df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs   32G     0   32G   0% /dev
tmpfs          tmpfs     6.3G  516K  6.3G   1% /run
/dev/md2       ext4      437G  1.2G  413G   1% /
tmpfs          tmpfs      32G …
Run Code Online (Sandbox Code Playgroud)

linux raid partition xfs mdadm

5
推荐指数
2
解决办法
2196
查看次数