今天的主角是parted和lsblk。

parted

服务器中挂载一块新硬盘之后,先通过lshw命令来查看该硬盘是否被识别:

$ sudo lshw -class disk
  *-cdrom
       description: DVD reader
       physical id: 0.0.0
       bus info: scsi@1:0.0.0
       logical name: /dev/cdrom
       logical name: /dev/sr0
       capabilities: audio dvd
       configuration: status=nodisc
  *-disk
       description: SCSI Disk
       physical id: 0.0.0
       bus info: scsi@2:0.0.0
       logical name: /dev/sda
       size: 19GiB (20GB)
       capabilities: partitioned partitioned:dos
       configuration: sectorsize=512 signature=00041a19
  *-disk
       description: SCSI Disk
       physical id: 0.1.0
       bus info: scsi@3:0.1.0
       logical name: /dev/sdb
       size: 100GiB (107GB)
       capabilities: gpt-1.00 partitioned partitioned:gpt
       configuration: guid=18793d68-d102-42e2-8f42-dc5f68676c00 sectorsize=4096

说明已经被识别为/dev/sdb,随后可通过parted命令进行分区。parted相较于fdisk的一个优势是它可以单个命令行的方式完成一个原子操作,可以被用来写成bash脚本。

$ sudo parted -a optimal /dev/sdb mklabel gpt
$ sudo parted /dev/sdb
>mkpart primary ext3 '0%' '100%'
>quit
$ sudo mkfs.ext4 /dev/sdb1
/dev/sdb1最终的文件系统为ext4,虽然在mkpart的部分使用了ext3,但是这两货所对应的都是linux 83,所以是安全的,详见arch wiki

lsblk

发现一个很好用的命令lsblk,可以很清晰地列出服务器当前的硬盘、lvm、lv

$ sudo lsblk
NAME                              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                               7:0    0   797M  0 loop
loop1                               7:1    0   797M  0 loop
sda                                 8:0    0 278.5G  0 disk
├─sda1                              8:1    0   300M  0 part /boot
├─sda2                              8:2    0  19.5G  0 part
│ └─vg_root-lv_root (dm-0)        253:0    0  19.5G  0 lvm  /
├─sda3                              8:3    0  14.9G  0 part
├─sda4                              8:4    0     1K  0 part
├─sda5                              8:5    0  93.1G  0 part
│ ├─vg--one-lv--one--96--0 (dm-1) 253:1    0    10G  0 lvm
│ ├─vg--one-lv--one--99--0 (dm-2) 253:2    0    10G  0 lvm
│ ├─vg--one-lv--one--84--0 (dm-3) 253:3    0    10G  0 lvm
│ ├─vg--one-lv--one--86--0 (dm-4) 253:4    0    10G  0 lvm
│ └─vg--one-lv--one--90--0 (dm-5) 253:5    0    10G  0 lvm
└─sda6                              8:6    0 150.6G  0 part
sr0                                11:0    1  1024M  0 rom