1. 查看 PCI 接口设备
使用 lspci
查看设备是否已经安装
1
2
3
| lspci |grep storage
d8:00.0 Mass storage controller: Shannon Systems Device 2275
|
这里发现了一块 Shannon Systems 的设备,说明已经安装了 SSD。
1
2
3
4
5
6
7
8
| lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 893.8G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 892.8G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 892.8G 0 lvm /
|
但 lsblk
中并没有看到对应的设备,说明驱动没有安装或者安装错误。
2. 检查是否已安装驱动
这一步骤很关键,如果安装了版本不对、内核版本不匹配的驱动,在 lsblk
中也可能看不到对应的设备。如果安装了两个版本的驱动,可能会导致系统无法正常启动,一直 rebooting。
1
2
3
| dpkg -l | grep shannon
ii shannon-module-5.4.0-164-generic 3.4.3.1 amd64 Driver for PCIe SSD of Shannon Systems
|
3. 卸载 SSD 驱动
需要注意的是,如果 lsblk
已经能看到设备,那么代表着驱动已经正确安装,同时很有可能已经在使用中,如果此时卸载驱动,会导致系统故障。
1
| dpkg -r shannon-module-5.4.0-164-generic
|
4. 安装驱动
1
2
3
| ls -alh Shannon_Linux_Driver_Package_3.4.3.1.tar.gz
-rw-r--r-- 1 root root 11M Nov 8 07:57 Shannon_Linux_Driver_Package_3.4.3.1.tar.gz
|
1
2
| tar xvf Shannon_Linux_Driver_Package_3.4.3.1.tar.gz
cd Shannon_Linux_Driver_Package_3.4.3.1
|
1
2
| tar xvf shannon-source_3.4.3.1.tar.gz
cd shannon-source_3.4.3.1
|
1
| apt-get install -y make gcc debhelper linux-headers-$(uname -r) libtinfo5 libncurses5
|
1
| apt-get install -y dpkg-dev
|
1
| dpkg-buildpackage -us -uc
|
得到 DEB 包
1
| dpkg-deb: building package 'shannon-module-5.4.0-164-generic' in '../shannon-module-5.4.0-164-generic_3.4.3.1_amd64.deb'.
|
1
| dpkg -i ../shannon-module-5.4.0-164-generic_3.4.3.1_amd64.deb
|
1
2
3
4
5
6
7
8
9
10
| lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 893.8G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 892.8G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 892.8G 0 lvm /
dfa 252:0 0 2.2T 0 disk
└─dfa1 252:1 0 2T 0 part
|
5. 格式化并挂载到目录
使用 fdisk 对 dfa 进行分区
会有提示输入参数:
command (m for help):n
Select (default p): p
Partition number(1-4):1
First cylinder (1-22800,default 1):Enter
command (m for help):w
1
| mount -t ext4 /dev/dfa /data
|
在 /etc/fstab
中添加一条记录,设置开机自动挂载:
1
| /dev/dfa /data ext4 defaults 0 0
|
6. 验证磁盘正常挂载
重新挂载分区,如果没有报错,说明配置正确
1
2
3
4
5
6
7
8
9
10
| lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 893.8G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 892.8G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 892.8G 0 lvm /
dfa 252:0 0 2.2T 0 disk /data
└─dfa1 252:1 0 2T 0 part
|
7. 磁盘测试
1
2
| proxy="https://ghp.ci/"
curl -sfL "$proxy"https://raw.githubusercontent.com/shaowenchen/ops/main/getcli.sh |VERSION=latest sh -
|
1
2
3
4
5
6
7
8
| opscli task -f .ops/tasks/get-diskio-byfio.yaml
Rand_Read_Testing: (groupid=0, jobs=1): err= 0: pid=21980: Thu Nov 9 07:05:26 2023
read: IOPS=113k, BW=441MiB/s (462MB/s)(100MiB/227msec)
Rand_Write_Testing: (groupid=0, jobs=1): err= 0: pid=22027: Thu Nov 9 07:05:27 2023
write: IOPS=103k, BW=403MiB/s (423MB/s)(100MiB/248msec); 0 zone resets
|