Linux挂载持久化内存(PMEM)_linux pmem_明月何灼灼_的博客-程序员秘密

技术标签: Linux  linux  

挂载持久化内存(PMEM)

1. 安装虚拟机(桥接网络模式)

  1. 选择[典型(推荐)],进入下一步
    在这里插入图片描述

  2. 选择稍后安装操作,下一步
    在这里插入图片描述

  3. 选择[客户机操作系统——Linux,版本为CentOS 7 64位],下一步
    在这里插入图片描述

  4. 虚拟机命名,下一步
    在这里插入图片描述

  5. [最大磁盘大小——60G,将虚拟磁盘拆分为多个文件](注意,若做内核实验,磁盘大小不易太小)
    在这里插入图片描述

  6. [自定义硬件]
    在这里插入图片描述

  7. [内存——4GB]
    在这里插入图片描述

  8. [处理器数量——2,内核数量——2],勾选【虚拟化Intel VT-x/EPT 或 AMD-V/RVI】
    在这里插入图片描述

  9. 使用ISO印像文件,定位到下载好的CentOS的iso文件上
    在这里插入图片描述

  10. 网络适配器选择桥接模式
    在这里插入图片描述

  11. 点击关闭完成最后的配置预览,点击完成
    在这里插入图片描述

  12. 开启虚拟机,点击回车
    在这里插入图片描述

  13. 配置文字选中文
    在这里插入图片描述

  14. 配置[软件选择],选[带GUI的服务器],左上角[完成]
    在这里插入图片描述

  15. 配置[安装位置]
    在这里插入图片描述

  16. 选[我要配置分区],左上角[完成]
    在这里插入图片描述

  17. 选[标准分区],点[+]号添加挂载点(注意,做编译内核的实验给/boot不宜添加内存过小)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  18. 完成,接受更改
    在这里插入图片描述

  19. 开始安装(设置root密码,创建用户)
    在这里插入图片描述

  20. 配置桥接网络

    1. 配置桥

      vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
      

      插入内容:

      #【ifcfg-cloudbr0】,原本没有这个文件
      DEVICE=cloudbr0
      TYPE=Bridge
      ONBOOT=yes
      BOOTPROTO=static
      IPV6INIT=no
      IPV6_AUTOCONF=no
      DELAY=5
      IPADDR=192.168.1.2【和主机同网段的ip地址】
      GATEWAY=192.168.1.1【网关xxx.xxx.xxx.1】
      NETMASK=255.255.255.0
      DNS1=8.8.8.8
      DNS2=8.8.4.4
      STP=yes
      USERCTL=no
      NM_CONTROLLED=no
      # 记得删除这些注释
      
    2. 修改网络配置

      vi /etc/sysconfig/network-scripts/ifcfg-ens33.
      

      修改为:

      TYPE=Ethernet
      PROXY_METHOD=none
      BROWSER_ONLY=no
      BOOTPROTO=none
      DEFROUTE=yes
      IPV4_FAILURE_FATAL=no
      IPV6INIT=no
      IPV6_AUTOCONF=no
      IPV6_DEFROUTE=no
      IPV6_FAILURE_FATAL=no
      IPV6_ADDR_GEN_MODE=stable-privacy
      NAME=ens33
      UUID=522f2028-1e48-421b-9c25-aef00237719d
      DEVICE=ens33
      ONBOOT=yes
      BRIDGE=cloudbr0
      
    3. 重启网络

      chkconfig network on
      systemctl stop NetworkManager
      systemctl disable NetworkManager
      systemctl restart network
      

2. 编译内核使能PMEM模块

  1. 下载内核

    可通过Linux官网下载内核也可以通过国内某些网站进行下载。

    推荐内核版本:linux-4.16.10

    下载后压缩包:linux-4.16.10.tar.gz

  2. 解压(将压缩包解压到/usr/src目录下)

    tar xf linux-4.16.10.tar.gz -C /usr/src
    
  3. 配置内核

    cd linux-4.16.10
    

    进入解压后的内核版本目录执行下面的命令

    make menuconfig
    

    注意,该命令执行前需要安装一些包(若仍缺少某个包按提示安装即可)

    yum install gcc
    yum install ncurses ncurses-devel
    

    进入图形化配置界面即需要是能PMEM模块

    -> Device Drivers -> NVDIMM Support ->
    <M>PMEM; <M>BLK; <*>BTT
    //按空格进行调整
    
    //回到首页
    -> Processor type and features
    <*>Support non-standard NVDIMMs and ADR protected memory
    
  4. 编译内核

    make -j4
    //j4表示4条编译命令同时执行,4核机器上可以使用j8
    //同样若缺什么包,按提示安装即可
    
  5. 编译和安装模块

    make modules
    make modules_install
    
  6. 修改修改grub文件

    nano /etc/default/grub  
    

    添加内容为:

    memmap=nn[KMG]!ss[KMG] 
    #分配内存区域作为PMEM,ss代表起始内存地址,nn代表区域大小,如4G!12G代表12G到16G的内存范围作为PMEM. [KMG]表示KB,MB,GB.具体如下:
    GRUB_CMDLINE_LINUX="memmap=4G!4G"
    
  7. 更新grub文件

    //CentOS指令
    grub2-mkconfig -o /boot/grub2/grub.cfg
    //若用户为ubuntu使用
    update-grub2
    
  8. 重启虚拟机

    reboot
    

    选择对应编译的内核系统
    重启后查看驱动目录dev即可看到PEME0已经挂载成功

    ls /dev
    

    挂载成功 在这里插入图片描述

3. 将持久内存配置为一块本地盘

  1. 安装持久化内存管理工具

    yum install -y ndctl daxctl
    
  2. 配置使用模式为fsdax

    ndctl create-namespace -f -e namespace0.0 --mode=fsdax
    
  3. 格式化并挂载磁盘

    mkfs -t ext4 /dev/pmem0 
    mount -o dax,noatime /dev/pmem0 /mnt
    
  4. 查看已经挂载的磁盘

    df -h
    

    配置成功
    在这里插入图片描述

  5. 注意
    注意,挂载后每次关闭虚拟机挂载信息会丢失,重启后需要重新挂载。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zyfzyfzyfaaa/article/details/124203706

智能推荐

android添加hidl服务,HIDL  |  Android 开源项目  |  Android Open Source Project_花旗甲比丹的博客-程序员秘密

HAL 接口定义语言(简称 HIDL,发音为“hide-l”)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件包中)。从更广泛的意义上来说,HIDL 是用于在可以独立编译的代码库之间进行通信的系统。HIDL 旨在用于进程间通信 (IPC)。进程之间的通信采用 Binder 机制。对于必须与进程相关联的代码库,还可以使用直通模...

通用魔板_隔壁黄小明的博客-程序员秘密

ibatis拦截器public class SqlMapClientInterceptor implements MethodInterceptor { public static final String WRITE="write"; public static final String READ="read"; private static Set&lt;String&gt; writeMethods=new HashSet&lt;String&gt;(); priv

大话SEO网站优化|SEO优化入门技术详解_weixin_30755393的博客-程序员秘密

  网络营销  网络营销是借助一切被目标用户认可的网络应用服务平台开展的引导用户关注的行为或活动,目的是促进产品在线销售及扩大品牌影响力。  web1.0时代有搜索引擎营销、BBS营销、邮件营销、病毒式营销、即时通讯营销等  web2.0时代除了有以上的,随着网络应用的不断加强,有了博客营销、RSS营销、SN营销、创业广告营销、口碑营销、体验营销、趣味营销、知识营销、整合营销、事件营销...

Linux查找文件命令_英俊帅比林的博客-程序员秘密

find / -name test.txt 在所有目录中查找名字为test.txt的文件find / -name ‘*.txt’ 在所有目录中查找后缀名为.txt的文件find . -name test.txt 在当前目录中查找名字为test.txt的文件find /etc -name '*srm*' 查找/etc文件夹下所有名字中包含srm的文件find / -amin -10 查...

HTML5期末大作业:景点介绍网站设计——汉中印象景点介绍 (19页) HTML+CSS+JavaScript 学生旅行 游玩 主题住宿网页_htm5风景介绍_web领域优质创作者-网页设计的博客-程序员秘密

HTML5期末大作业:景点介绍网站设计——汉中印象景点介绍 (19页) HTML+CSS+JavaScript 学生旅行 游玩 主题住宿网页常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜欢的

鹅妹子的skimage.measure.regionprops_木姑娘的博客-程序员秘密

参考:https://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.regionpropsskimage的强大无需多言,但是木有想到厉害成这个亚子!简直是宝藏函数!今天简单记录skimage.measure使用中遇到的惊喜。一、汇总函数功能skimage.measure.find_c...

随便推点

c语言智只能对整形取模,对于C(n,k)取模_weixin_39639643的博客-程序员秘密

2016.1.26法一:直接根据定义式,求乘法逆元即可法二:借助关于n!mod p,那么根据C(n,k)的定义式并结合乘法逆元即可求解。法三:借助卢卡斯定理求解特别注意:在C(n,k)模p等于0的情况下,上述方法均不奏效,所以需要特判。特判方法举例:如在采取法一时,分子中因子p的个数为e1,分母中因子p的个数为e2,那么e1=e2时模p不得0,可继续进行;若e1&gt;e2,则模p为0,直接返回0...

让数据传输更安全_weixin_34309543的博客-程序员秘密

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

windows环境下Hadoop配置与hdfs使用(hadoop2.5.2)_windows搭建hdfs_行思坐忆,志凌云的博客-程序员秘密

刚入门hadoop,开发环境的搭建估计能把一部分人逼走。我也差点疯了。 估计能看到这篇文章的小伙伴们都饱受cygwin和各种配置文件的折磨了吧?如果你不想在linux上搭建,又不想安装cygwin。那就继续往下看啦~步骤: 1. JDK安装(不会的戳这) 2. 下载hadoop2.5.2.tar.gz,或者自行去百度下载。 3. 下载hadooponwindows-m...

【vue】avue-crud配置大全-持续更新_王佑辉的博客-程序员秘密

1.表格属性width: “100%”,//表格宽度calcHeight: “auto”,//表格高度差(主要用于减去其他部分让表格高度自适应)height: “auto”,//表格高度maxHeight: “auto”,//表格最大高度border: true,//是否显示表格边框expand: false,//是否展开折叠行index: false,//是否显示表格序号(根据分页会自动计算,比如每页10行,到了第二页就会从11开始记数)indexLabel: “#”,//序号的标题st

内存对齐的规则以及作用_willnow的博客-程序员秘密

首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include  4  5 using namespace std; 6  7 struct st1  8 { 9     char a ;10     int

STM32CubeMX工程修改MCU的两种方法_aimu8686的博客-程序员秘密

有些时候我们在已经使用过一段时间的stm32cube创建的工程,需要更换一个同系列的芯片,比如Flash空间更大或者更小,第一种方法我在网上搜索过,就是使用cube选择一个新使用型号的MCU,然后使用导入功能导入原来的工程,只要同系列同管脚的,就能把原来的配置完全复制过来,但是我在测试了一下之后发现会有一些问题,比如我原来使用的是F427VIT6,换成F427VGT6之后,按理说只是fl...

推荐文章

热门文章

相关标签