我现在有一块新硬盘,需要插在一个 Linux 服务器上做数据盘。
假设这个盘被映射到 /dev/sdb 。初始化 GPT 分区表后,我有两个选择:
这两种方案有区别吗?一年前我看各种教程,都是方案 2 ,但是最近我看 AWS 挂载新硬盘的教程,推荐方案 1 。
似乎方案 2 会浪费磁盘起始位置的一小部分空间。
1
shervy 2022-05-27 10:45:17 +08:00
你不 fdisk 怎么 mkfs
|
2
mingtdlb 2022-05-27 10:47:14 +08:00
我都用 1 ,主要是懒的分...
“AWS 挂载新硬盘的教程,推荐方案 1 ” 链接发下 |
3
SMGdcAt4kPPQ 2022-05-27 10:48:17 +08:00 via Android
Windows 下读取需要分区表,Linux 不需要
MBR 浪费空间少 |
4
TigerJie 2022-05-27 10:50:55 +08:00
|
7
HeyWeGo 2022-05-27 11:11:55 +08:00 1
硬盘今后如果不会有在 windows 下读取数据的需求,方案 1 没问题。
我之前就是因为不知道 windows 需要分区表才能读盘,linux 下未分区然后 mkfs 成了 ntfs ,结果挂到 windows 下依然读不出。后来 linux 下先分一个区再 mkfs ntfs 就可以直接挂到 windows 下正常读取了。那么点空间没啥纠结了 |
8
villivateur OP |
9
Arnie97 2022-05-27 12:51:43 +08:00 via Android
技术上可以让文件系统直接从 /dev/sdb 第一个扇区开始。但是何苦呢,基本断了将来分区的后路了,兼容性也会略微降低… 我喜欢把不同的目录分到不同的区,这样备份起来也方便,log 所在的分区写满了也不会让 db 无法写入,大文件所在的分区格式化参数也可以跟零碎文件所在的分区分别对待。
> 似乎方案 2 会浪费磁盘起始位置的一小部分空间 相比整个磁盘的容量,分区表占用空间完全可以忽略不计(主要是为了 SSD 对齐擦写 block 选择故意空出来几 MB 空间,否则 MBR 分区表也就 512 字节)。inode 占的空间超过分区表百倍,你要是真差这点空间,应该调整 inode 参数而不是打分区表的主意… |
10
adoal 2022-05-27 13:36:35 +08:00
用 1 的风险是如果有特殊情况挂在别的地方,有不小概率会被当成没初始化的硬盘误操作。
|
11
jim9606 2022-05-27 14:42:13 +08:00
建议用 2 。GPT 分区表(及保护 MBR )算上备份块撑死就几 KB ,但可以防止被很多软件误认为是空盘。
|
12
cheng6563 2022-05-27 14:44:25 +08:00
直接 btrfs 玩子卷
|
13
mingl0280 2022-05-27 14:49:14 +08:00 1
@villivateur aws 是虚拟块设备,没必要加额外的分区表(物理层设备已经分区了)。
你自己用的物理设备,不分区的麻烦比分区的多,所以最好加。 |
14
julyclyde 2022-05-30 11:11:53 +08:00
有一种说法:
建议即使使用整个容量,也分“一个”区 这样可以避免 fdisk -l 的时候被识别为未使用的盘,被别人误操作 |