西数ZN540如何修改sector size

写在前面

因需要在ZN540上挂载F2FS,故需要两块盘。一块传统SSD一块ZNS SSD。
对于ZN540,信息如下
西数ZN540如何修改sector size_第1张图片
由于其扇区大小为4KiB,而自己服务器上没有逻辑扇区为4KiB的盘,例如三星883:
西数ZN540如何修改sector size_第2张图片
所以当用883做传统盘的时候,格式化mkfs.f2fs会报错:
西数ZN540如何修改sector size_第3张图片
因为ZN540不支持分区,如果使用ZN540的传统块接口来挂载则会报空间不足:
西数ZN540如何修改sector size_第4张图片
因此,要么把三星883的逻辑扇区大小改为4KiB,要么把ZN540改为512B。

方法一:把三星883的逻辑扇区大小改为4KiB

使用hdparm修改883的扇区大小

06:54:04 ~ # hdparm --set-sector-size 4096 --please-destroy-my-drive /dev/sdb
/dev/sdb:
READ_LOG_EXT(SECTOR_CONFIGURATION) failed: No such file or directory

啊哦,这块硬盘不支持更改扇区尺寸,其实支持更改扇区尺寸的硬盘也比较少,支持的话可以用这个命令改。

方法二:把ZN540的扇区大小改为512B

第一种方法(失败但是常规)

1查看两个名称空间的信息

nvme id-ns -H /dev/nvme0n1

看看最后几行:
在这里插入图片描述
2.通过命令来修改LBA格式

nvme format --lbaf=1 /dev/nvme0n1
NVMe status: INVALID_FORMAT: The LBA Format specified is not supported. This may be due to various conditions(0x610a)

然而也报错。

第二种方法(成功)

只能通过重新创建nvme名称空间的时候指定LBA的格式来改变扇区大小
1.查看两个名称空间的大小

sudo nvme id-ns -H /dev/nvme1n2

主要看一下

nvme1n1:(我的是已经改为512B的状态)
nsze    : 0x400000 #以扇区大小为单位的zone size,实际大小为0x400000 * 512 = 2147483648
ncap    : 0x400000 #以扇区大小为单位的zone capacity 
nvme1n2:
nsze    : 0xe2000000 #以扇区大小为单位的zone size
ncap    : 0x76d94000 #以扇区大小为单位的zone capacity

2.删除旧的名称空间

atr@node3:~$ sudo nvme delete-ns /dev/nvme1 -n 1
delete-ns: Success, deleted nsid:1
atr@node3:~$ sudo nvme delete-ns /dev/nvme1 -n 2
delete-ns: Success, deleted nsid:2

3.创建新的名称空间

# -s为nsze   -c为ncap   是上面各自实际大小/512
atr@node3:~$ sudo nvme create-ns /dev/nvme1 -s 4194304 -c 4194304 -b 512 --csi=0
create-ns: Success, created nsid:1
atr@node3:~$ sudo nvme create-ns /dev/nvme1 -s 3791650816 -c 3791650816 -b 512 --csi=2
create-ns: Success, created nsid:2

4.attach名称空间

atr@node3:~$ sudo nvme attach-ns /dev/nvme1 -n 1 -c 0
attach-ns: Success, nsid:1
atr@node3:~$ sudo nvme attach-ns /dev/nvme1 -n 2 -c 0
attach-ns: Success, nsid:2

5.查看nvme设备信息

sudo nvme list 

在这里插入图片描述
修改成功。

你可能感兴趣的:(linux内核,F2FS文件系统,SSD,linux,运维,ubuntu)