wisnuc / appifi

A private cloud built for human.
https://wisnuc.github.io/appifi
GNU General Public License v3.0
61 stars 27 forks source link

storage中的blocks可能缺少unformattable属性 #464

Open juncaixinchi opened 6 years ago

juncaixinchi commented 6 years ago

Description:

对于系统盘和其他不能格式化的磁盘需要给出相应的属性,但在部分环境中系统盘缺少unformattable属性

Context:

初始化时需要格式化磁盘,对于不能格式化的磁盘需要禁用选择

Request:

get /storage 

Response expectation:

对于不可格式化的磁盘给予unformattable属性

Response result:

VirtulBox虚拟机环境,Ubuntu-server 16.04系统,sda为系统盘, sdb和sdc为额外的磁盘

该种情况下系统盘没有unformattable

"blocks": [
{
"name": "sda",
"devname": "/dev/sda",
"path": "/devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda",
"removable": false,
"size": 83886080,
"isDisk": true,
"model": "VBOX_HARDDISK",
"serial": "VBafc23872-e7d84876",
"isPartitioned": true,
"partitionTableType": "dos",
"partitionTableUUID": "d0b7db34",
"idBus": "ata",
"isATA": true
},
{
"name": "sdb",
"devname": "/dev/sdb",
"path": "/devices/pci0000:00/0000:00:0d.0/ata11/host10/target10:0:0/10:0:0:0/block/sdb",
"removable": false,
"size": 16777216,
"isDisk": true,
"model": "VBOX_HARDDISK",
"serial": "VBf6bb5791-e1fa9c84",
"fsUsageDefined": true,
"idFsUsage": "filesystem",
"fileSystemType": "btrfs",
"fileSystemUUID": "7e46f34b-7e33-47df-884b-4219e429212c",
"isFileSystem": true,
"isVolumeDevice": true,
"isBtrfs": true,
"btrfsVolume": "7e46f34b-7e33-47df-884b-4219e429212c",
"btrfsDevice": "6112307b-6e37-423f-8df6-1d6d0ccee88e",
"idBus": "ata",
"isATA": true,
"isMounted": true,
"mountpoint": "/run/wisnuc/volumes/7e46f34b-7e33-47df-884b-4219e429212c"
},
{
"name": "sdc",
"devname": "/dev/sdc",
"path": "/devices/pci0000:00/0000:00:0d.0/ata12/host11/target11:0:0/11:0:0:0/block/sdc",
"removable": false,
"size": 16777216,
"isDisk": true,
"model": "VBOX_HARDDISK",
"serial": "VB6167c3a6-cc8f4095",
"fsUsageDefined": true,
"idFsUsage": "filesystem",
"fileSystemType": "btrfs",
"fileSystemUUID": "7e46f34b-7e33-47df-884b-4219e429212c",
"isFileSystem": true,
"isVolumeDevice": true,
"isBtrfs": true,
"btrfsVolume": "7e46f34b-7e33-47df-884b-4219e429212c",
"btrfsDevice": "24c82af5-880b-44bb-afda-0d2d3b68a11b",
"idBus": "ata",
"isATA": true,
"isMounted": true,
"mountpoint": "/run/wisnuc/volumes/7e46f34b-7e33-47df-884b-4219e429212c"
},
{
"name": "sda1",
"devname": "/dev/sda1",
"path": "/devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda/sda1",
"removable": false,
"size": 997376,
"isPartition": true,
"fsUsageDefined": true,
"idFsUsage": "filesystem",
"fileSystemType": "ext2",
"fileSystemUUID": "92e87429-1f7c-4b82-9cbf-b532c057bd0a",
"isFileSystem": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true,
"isMounted": true,
"mountpoint": "/boot"
},
{
"name": "sda2",
"devname": "/dev/sda2",
"path": "/devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda/sda2",
"removable": false,
"size": 2,
"isPartition": true,
"isExtended": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true,
"unformattable": "Extended"
},
{
"name": "sda5",
"devname": "/dev/sda5",
"path": "/devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda/sda5",
"removable": false,
"size": 82882560,
"isPartition": true,
"fsUsageDefined": true,
"idFsUsage": "raid",
"fileSystemType": "LVM2_member",
"fileSystemUUID": "jHcroz-9690-GlHA-3r5H-ptn1-Svxp-cKHmAA",
"isRaidFileSystem": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true
}
]

对于WisnucOffice,系统盘就有unformattable属性

"blocks": [
{
"name": "sda",
"devname": "/dev/sda",
"path": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sda",
"removable": false,
"size": 234441648,
"isDisk": true,
"model": "SanDisk_SDSSDA120G",
"serial": "152826400192",
"isPartitioned": true,
"partitionTableType": "dos",
"partitionTableUUID": "3ccfaa93",
"idBus": "ata",
"isATA": true,
"unformattable": "ActiveSwap:RootFS"
},
{
"name": "sdb",
"devname": "/dev/sdb",
"path": "/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sdb",
"removable": false,
"size": 11721045168,
"isDisk": true,
"model": "WDC_WD60EFRX-68MYMN1",
"serial": "WD-WX11D4443282",
"fsUsageDefined": true,
"idFsUsage": "filesystem",
"fileSystemType": "btrfs",
"fileSystemUUID": "cf978a42-e245-4977-a2d5-3440c5f2bf7c",
"isFileSystem": true,
"isVolumeDevice": true,
"isBtrfs": true,
"btrfsVolume": "cf978a42-e245-4977-a2d5-3440c5f2bf7c",
"btrfsDevice": "c1c77e00-507f-4e76-94ab-f58a0c0343f5",
"idBus": "ata",
"isATA": true,
"isMounted": true,
"mountpoint": "/run/wisnuc/volumes/cf978a42-e245-4977-a2d5-3440c5f2bf7c"
},
{
"name": "sda1",
"devname": "/dev/sda1",
"path": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sda/sda1",
"removable": false,
"size": 226766848,
"isPartition": true,
"fsUsageDefined": true,
"idFsUsage": "filesystem",
"fileSystemType": "ext4",
"fileSystemUUID": "f1e678e0-ee37-447e-b3cf-bae2bc3a25fe",
"isFileSystem": true,
"isExt4": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true,
"isMounted": true,
"mountpoint": "/",
"isRootFS": true,
"unformattable": "RootFS"
},
{
"name": "sda2",
"devname": "/dev/sda2",
"path": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sda/sda2",
"removable": false,
"size": 2,
"isPartition": true,
"isExtended": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true,
"unformattable": "Extended"
},
{
"name": "sda5",
"devname": "/dev/sda5",
"path": "/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sda/sda5",
"removable": false,
"size": 7669760,
"isPartition": true,
"fsUsageDefined": true,
"idFsUsage": "other",
"fileSystemType": "swap",
"fileSystemUUID": "88ae3a69-9bbc-41b2-8b1d-dbe77e7f9dd5",
"isOtherFileSystem": true,
"isLinuxSwap": true,
"parentName": "sda",
"idBus": "ata",
"isATA": true,
"isActiveSwap": true,
"unformattable": "ActiveSwap"
}
]

可能的原因

该系统中sda1挂在在/bootvirtual--vg-root才是挂在/,于是无法识别sda为系统盘。

以下是lsblk结果

sda      8:0    0   40G  0 disk 
|-sda1   8:1    0  487M  0 part /boot
|-sda2   8:2    0    1K  0 part 
`-sda5   8:5    0 39.5G  0 part 
  |-virtual--vg-root
  |    252:0    0 37.5G  0 lvm  /
  `-virtual--vg-swap_1
       252:1    0    2G  0 lvm  [SWAP]
sdb      8:16   0    8G  0 disk /run/wisnuc/volumes/7e46f34b-7e33-47df-884b-4219
sdc      8:32   0    8G  0 disk 
sr0     11:0    1 1024M  0 rom