看来我能够在原始块设备之上成功执行 pvcreate ,而无需采取创建分区表的步骤。然后我就可以创建一个卷组、逻辑卷,最后是一个文件系统,挂载它,并通过 dd 进行测试。
它似乎有效,但我需要进行健全性检查。这是一个坏主意吗?
如何在原始块设备上创建 GPT 或 MBR 分区表?
如何使用 parted 显示正在使用的分区表类型?我试过这样做:
分开,选择/dev/sdb,打印,我得到:
错误:/dev/sdb:无法识别的磁盘标签
但是该驱动器目前正在使用中,我可以对其进行读写。这是在没有分区表的原始块设备上执行 LVM 时的预期输出吗?有什么想法吗?
谢谢!
特尔;博士:
是否有任何工具/方法可以诊断和修复 LDM (逻辑磁盘管理器)元数据结构而无需从头开始创建?
详细描述:
我有两个 SSD 驱动器设置了 GPT + LDM(动态磁盘),处于似乎暗示LDM 数据库损坏的状态。
问题是,除了使用diskpart或Disk Management Snap-In.
GPT结构似乎完好无损:
GNU Parted 2.3
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA SanDisk SDSSDP12 (scsi)
Disk /dev/sde: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 1066kB 1049kB LDM metadata partition
2 1066kB 134MB 133MB …Run Code Online (Sandbox Code Playgroud) 我有一个在 qemu vm 上运行的 Linux LiveCD。我正在使用此命令为 qemu 创建 hda 光盘:
qemu-img.exe create -f qcow2 base-linux.img 5G
Run Code Online (Sandbox Code Playgroud)
然后我运行我的虚拟机:
qemu.exe -m 1024 -boot d -cdrom lfslivecd-x86-6.3-r2145.iso -hda base-linux.img
Run Code Online (Sandbox Code Playgroud)
启动后我尝试这个命令:
parted /dev/hda unit GB mkpartfs primary ext3 0 5
Run Code Online (Sandbox Code Playgroud)
它给了我“无法识别的光盘标签错误”。
我正在使用 parted 1.9.0 并且不知道如何修复它。
要从干净状态开始,我需要从命令行将硬盘重置为空状态。
这与运行擦除实用程序无关,不必覆盖数据。
这个问题与Deleting All Partitions From the Command Line非常相似
那里的解决方案效果很好,
dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc
Run Code Online (Sandbox Code Playgroud)
但是如果我想使用这样一个被覆盖的磁盘,我会收到设备仍在使用中的错误。
root@grml ~ # blockdev --rereadpt /dev/sda
BLKRRPART: Device or resource busy
Run Code Online (Sandbox Code Playgroud)
或者
root@grml ~ # partprobe
Error: Partition(s) 2, 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. …Run Code Online (Sandbox Code Playgroud) 我配置了一个软件 raid (/dev/md2),它从两个 3TB 磁盘(sda 和 sdb)分配了分区 sda3 和 sdb3。分区类型是 GPT 而不是 LVM,文件系统是 ext4。现在,根分区占用 1TB,主分区(raid /dev/md3 上的 sda4 和 sdb4)占用 1.8TB,我想将根分区的大小调整为仅占用 250GB 并将可用空间分配给主分区,所以最终 md2 中的 root 为 250GB,home 为 2.5TB。为此,我读到使用 mdadm 并调整阵列卷大小可以实现这一点,但问题是它只调整了 md2 设备的大小,但 sda3 和 sdb3 中的可用空间未使用,我无法将其分配给sda4 和 sdb4 这样我就可以在 md3 中使用额外的空间,所以我有:
At the beginning:
/dev/md2 with ext4, mounting / with quota of 1000GB
sda3: 1000GB with ext4 using the full 1000GB
sdb3: 1000GB with ext4 using the full 1000GB
/dev/md3 with ext4, mounting /home with quota of 1800GB …Run Code Online (Sandbox Code Playgroud) 最近在具有以下驱动器的 PowerEdge R320 上安装了 RHEL7:
2 x 300GB sas 15k
2 x 1TB sas 7.2k
Run Code Online (Sandbox Code Playgroud)
在安装过程中设置 LVM 时,我特意留下了数百 GB 的可用空间,以备以后需要扩展时使用。
我现在发现我需要扩展安装过程中创建的卷之一。
问题是 pvs 仅显示我创建的内容,而不显示任何可用的可用空间。
[user@box ~] pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name rhel_os
PV Size 165.79 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 42443
Free PE 0
Allocated PE 42443
PV UUID sDdEfu-qagM-qq35-OGfF-HpPw-Bizd-LcXazt
--- Physical volume ---
PV Name /dev/sdb1
VG Name rhel_data
PV Size 139.71 GiB / …Run Code Online (Sandbox Code Playgroud) 最近我将 ext4 文件系统大小缩小到 500GB
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 493G 64G 404G 14% /
Run Code Online (Sandbox Code Playgroud)
现在我想缩小分区大小以完全适合文件系统大小。
我尝试使用 parted 和 resizepart 命令。问题是当 parted 要求新尺寸时。如果我选择 500GB,则生成的分区比 500GB 小,因此底层文件系统无法容纳在该分区上。有关如何进行正确尺寸计算的任何提示?
当我在 GPT 分区上设置“隐藏”标志时,Windows 8.1 不尊重它(Windows 尝试堆积、抛出 UI 等)。但是,如果我从 diskpart.exe 设置“隐藏”标志,它会受到尊重 - 这两个“隐藏”是否不同?
我如何从 Linux 设置位,使其在 Windows 中受到尊重?
GNU Parted 3.0
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
Model: LaCie P9220 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 8001MB 8000MB fat32 SD_Recovery
2 8001MB 8101MB 101MB ext4 SD_OS hidden
3 8101MB 8201MB 99.6MB SD_Page hidden
4 8201MB …Run Code Online (Sandbox Code Playgroud) 我有一台 CentOS 7 机器,使用 ext4 安装了两个磁盘 [ /dev/sda 和 /dev/sdb ]。
我需要将 /dev/sdb1 扩展到 2 TB 以上。
我将磁盘从 2 TB 扩展到 2.5 TB(谷歌云)
使用 fdisk 删除并重新创建分区后,重新启动后 resize2fs /dev/sdb1 不会将分区大小调整为 2.5 TB,因为看起来 fdisk 已经达到了神奇的 2 TB 限制。
有没有办法将 /dev/sdb1 扩展到 3 TB 而不会丢失数据?
谢谢
正如服务器故障用户@mzhaase 的建议,我按照以下步骤尝试了gdisk。用fdisk格式化的磁盘总大小为2T
使用 /dev/sdb1 分区停止所有服务
卸载设备
创建备份/快照
将磁盘扩展到3T
如果尚未安装在实例上,请安装 gdisk
gdisk procedure
gdisk /dev/sdb
p #print 并保存 GUID
o #delete all partitions
n #create new partition
c #label press ENTER or name if it …
我尝试在 RHEL 6.3 计算机上创建分区,但parted 给出以下错误:
$ sudo parted /dev/vdb mkpart logical 1
Error: partition length of 6442450944 sectors exceeds the loop-partition-table-imposed maximum of 4294967295
Run Code Online (Sandbox Code Playgroud)
用于创建分区的替代命令给了我同样的错误:
$ sudo parted -s /dev/vdb mkpart primary 0GB 3298GB
Error: partition length of 6442450944 sectors exceeds the loop-partition-table-imposed maximum of 4294967295
Run Code Online (Sandbox Code Playgroud)
这是 fdisk 输出:
$ sudo fdisk -l /dev/vdb
Disk /dev/vdb: 3298.5 GB, 3298534883328 bytes
16 heads, 63 sectors/track, 6391320 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 …Run Code Online (Sandbox Code Playgroud)