NVME硬盘

NVMe

NVMe是Non-Volatile Memory express(非易失性内存主机控制器接口规范)的简称,它是一种协议,能够使固态硬盘(SSD)运行得更快,如今在企业用户中已越来越流行。

NVMe(非易失性存储器快速)是一种主机控制器接口和存储协议,用于通过计算机的高速外围组件互连高速(PCIe)加速企业和客户端系统与固态硬盘(SSD)之间的数据传输总线。与基于 SAS 和 SATA 的 SSD 相比,基于 NVMe 的 PCIe SSD 的主要优点是减少了主机软件堆栈的延迟,提高了每秒输入/输出操作(IOPS),并可能降低功耗,具体取决于外形尺寸和正在使用的 PCIe 通道数。

NVMe和SATA、SAS类似是一种接口协议,NVMe SSD比SAS SSD性能更好

 

NVMe具体优势包括:

①性能有数倍的提升;

②可大幅降低延迟;

③NVMe可以把最大队列深度从32提升到64000,SSD的IOPS能力也会得到大幅提升;

④自动功耗状态切换和动态能耗管理功能大大降低功耗;

⑤NVMe标准的出现解决了不同PCIe SSD之间的驱动适用性问题。

Nvme类型对比

外观类型插卡式(AIC)盘式(u.2)条式(m.2)
PCIex4,x8,x16x4 ,x2 x2(双端口)x4,x2
主要规格半高半长HHHL
全高半长FHHL
2.5寸 厚15mm/7mm2260/2280/22110
尺寸大小
最高性能
支持热插拔/易维护性不支持/一般支持/好不支持/一般
能耗
兼容性服务器广泛支持需背板支持板载M.2插槽或转接卡
适用场景高性能、大容量需求易部署、前端维护提供不同长度(60mm、80mm、110mm
占用极少体积,适用空间受限,超大规模数据中心

插卡式

盘式

 

挂载显示

脚本添加nvme判断

function mkfs_data()
{
    msg "begin mkfs_data"
    dev_which=1
    dev_num=$(fdisk -l |grep dev |grep -v -w sda | awk '{print $2}' |sed 's/://g' |grep dev 2>/dev/null |sort |uniq |wc -l)
    dev=$(fdisk -l |grep dev |grep -v -w sda | awk '{print $2}' |sed 's/://g' |grep dev 2>/dev/null|sort |uniq)
    for i in `echo $dev`
    do
        dd if=/dev/zero of=${i} bs=1M count=10
        parted -s $i -- mklabel gpt
        parted -s $i -- mkpart primary 1 -1
        partprobe
    done
    if [ $dev_num -eq 1 ]
    then
        /sbin/mkfs.ext4 -F -b 4096 -i 8192 -I 256 -m0 ${dev}1 >/dev/null 
        mkdir /mnt/root/data
        echo "${dev}1 /data ext4 defaults 0 0 " >> /mnt/root/etc/fstab
    else
        for i in `echo $dev`
        do
            mkdir /mnt/root/data"$dev_which"
            echo $i | grep "nvme"  > /dev/null
            if [ $? -eq 0 ]
            then
                echo "${i}p1  /data${dev_which} ext4 defaults 0 0 " >> /mnt/root/etc/fstab
                /sbin/mkfs.ext4 -F -b 4096 -i 8192 -I 256 -m0  ${i}p1 > /dev/null &
                dev_which=`expr $dev_which + 1`
            else
                echo "${i}1  /data${dev_which} ext4 defaults 0 0 " >> /mnt/root/etc/fstab
                /sbin/mkfs.ext4 -F -b 4096 -i 8192 -I 256 -m0  ${i}1 > /dev/null &
                dev_which=`expr $dev_which + 1`
            fi
        done
        wait
    fi

参考文档:http://storage.it168.com/a2018/0921/5045/000005045252.shtml

                  https://www.leiue.com/non-volatile-memory-express

                 https://blog.csdn.net/weixin_40343504/article/details/82386024      #nvme-cli命令

nvme list

nvme-cli smart-log /dev/nvme0   #读取硬盘nvme0n1的smart信息

nvme smart-log-add /dev/nvme0

root@ts140i:/home/pz/workloads/1m# nvme smart-log-add /dev/nvme0

Additional Smart Log for NVME device:nvme0 namespace-id:ffffffff

key                               normalized raw
program_fail_count              : 100%       0
erase_fail_count                : 100%       0
wear_leveling                   :  62%       min: 1114, max: 1161, avg: 1134
end_to_end_error_detection_count: 100%       0
crc_error_count                 : 100%       0
timed_workload_media_wear       : 100%       37.941%
timed_workload_host_reads       : 100%       51%
timed_workload_timer            : 100%       446008 min
thermal_throttle_status         : 100%       0%, cnt: 0
retry_buffer_overflow_count     : 100%       0
pll_lock_loss_count             : 100%       0
nand_bytes_written              : 100%       sectors: 16185227
host_bytes_written              : 100%       sectors: 6405605

 

### 回答1: 要在Linux上挂载NVMe硬盘,需要按照以下步骤操作: 1. 确认NVMe硬盘已经被识别并显示在系统中。可以使用lsblk命令查看。 2. 创建一个目录,用于挂载NVMe硬盘。例如,可以使用mkdir命令创建一个名为/mnt/nvme的目录。 3. 使用mount命令将NVMe硬盘挂载到创建的目录中。例如,可以使用以下命令将/dev/nvmen1p1分区挂载到/mnt/nvme目录中: mount /dev/nvmen1p1 /mnt/nvme 4. 确认NVMe硬盘已经成功挂载。可以使用df -h命令查看挂载点的使用情况。 注意:在挂载NVMe硬盘之前,需要确保系统已经安装了NVMe驱动程序。 ### 回答2: 在回答该问题前,首先需要了解什么是NVMe和硬盘挂载的概念。 NVMe(非易失性内存扩展)是一种高速硬盘接口协议,旨在替代传统的SATA或SAS接口。它可显著提高硬盘的I/O性能,适合于需要高速数据读写的应用场景。 硬盘挂载则是将硬盘分区或磁盘分区与系统中的目录结构联系起来,让系统能够访问到硬盘存储的内容。 接下来,介绍一下如何在Linux系统中挂载NVMe硬盘。 1. 确认系统是否支持NVMe接口 首先,需要检查系统是否支持NVMe硬盘接口。可以通过执行以下命令来确定: ``` lsmod | grep nvme ``` 如果返回结果中包含“nvme”关键字,则说明系统支持NVMe接口。 2. 确认硬盘已被识别 在系统中插入NVMe硬盘后,需要确认硬盘已被识别。可以通过执行以下命令来检查系统是否已经发现了NVMe硬盘: ``` lspci |grep NVMe ``` 如果返回结果中包含NVMe硬盘的设备ID(如“0108”和“0111”),则说明硬盘已被检测到。 3. 创建分区 在Linux系统中,需要创建分区来将硬盘分成多个部分。可以使用fdisk命令来创建分区。 例如,假设要创建一个大小为100GB的分区,可以执行如下命令: ``` fdisk /dev/nvme0n1 ``` 按步骤操作后,新分区会被分配为/dev/nvme0n1p1。 4. 格式化分区 分区创建后,需要对分区进行格式化。例如,可以执行如下命令将分区格式化为ext4文件系统: ``` mkfs.ext4 /dev/nvme0n1p1 ``` 5. 挂载分区 格式化后,可以将分区挂载到系统目录中。例如,可以执行如下命令将分区挂载到/mnt/nvme目录: ``` mount /dev/nvme0n1p1 /mnt/nvme ``` 6. 设置自动挂载 如果需要系统每次启动自动挂载NVMe硬盘分区,可以在/etc/fstab文件中添加以下条目: ``` /dev/nvme0n1p1 /mnt/nvme ext4 defaults 0 0 ``` 这样,当系统启动时,会自动将NVMe硬盘分区挂载到/mnt/nvme目录中。 综上可以看到,挂载NVMe硬盘的过程与挂载传统硬盘基本相似。需要注意的是,在操作之前需要确认系统是否支持NVMe接口,确保硬盘已被识别,并根据实际需求进行分区和挂载设置。 ### 回答3: NVMe硬盘是新一代高速固态硬盘,拥有更快的读写速度和更高的性能表现。将NVMe硬盘挂载到Linux系统上,可以有效地提高系统的性能和响应速度。 首先,在Linux上挂载NVMe硬盘前,需要确保硬件设备已被正确识别和安装。可以通过执行以下命令检查NVMe设备是否已被Linux系统识别: lsblk 如果NVMe设备未被识别,需要安装相应的驱动程序才能识别它。 在识别NVMe设备后,可以挂载到Linux系统上。在Linux系统中,可以通过以下步骤挂载NVMe硬盘: 1. 创建挂载点 首先,需要创建挂载点,即一个用于挂载设备的目录。可以使用以下命令创建挂载点: sudo mkdir /mnt/nvme 这将创建一个名为“nvme”的目录,用于挂载NVMe硬盘。 2. 查看设备 可以通过以下命令查看所有已安装的硬盘设备: sudo fdisk -l 此命令将显示所有已安装的硬盘设备和它们的分区信息。 3. 挂载设备 可以使用以下命令将NVMe硬盘挂载到挂载点: sudo mount /dev/nvme0n1 /mnt/nvme 这个命令将把设备“/dev/nvme0n1”挂载到挂载点“/mnt/nvme”。 4. 开机自动挂载 如果想要使NVMe硬盘在系统开机时自动挂载,可以在“/etc/fstab”配置文件中添加一行,如下所示: /dev/nvme0n1 /mnt/nvme ext4 defaults 0 0 这将使NVMe硬盘在每次系统启动时自动挂载到指定挂载点。 通过以上步骤,可以将NVMe硬盘安装到Linux系统中,并实现自动挂载,提高系统性能和响应速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值