安装Nova文件系统

安装Nova文件系统

环境:

OS: Centos 7

kernel_version: 3.1.0

nova项目代码已经包含了kernel代码,只需要编译和安装kernel(同时编译nova模块),然后模拟PMem设备,最后载入nova模块以及挂载nova文件系统即可.

1.编译安装kernel以及nova模块
  1. 下载代码 Nova项目地址

  2. 解压代码unzip linux-nova-master

  3. 移动到/usr/src

  4. 配置编译选项

    make menuconfig

    注意

    [*]是编译进入内核

    <M>是编译成模块,能够在/lib/modules/$(uname -r)/下找到

    Processor type and features  --->
    	<*> Support non-standard NVDIMMs and ADR protected memory
    Memory Management options  --->
    	[*] Allow for memory hot-add
    	[*]   Online the newly added memory blocks by default
    	[*]   Allow for memory hot remove
    	[*] Device memory (pmem, HMM, etc...) hotplug support
    Device Drivers  --->
    	<*> NVDIMM (Non-Volatile Memory Device) Support  --->
    		<M> PMEM: Persistent memory block device support
    		<M> BLK: Block data window (aperture) device support
    		[*] BTT: Block Translation Table (atomic sector updates)
    		[*] PFN: Map persistent (device) memory
    File systems --->
    	[*] Direct Access (DAX) support
    	<M>  NOVA: log-structured file system for non-volatile memories
    
  5. 编译和安装内核

    • make -j12
    • sudo make modules_install
    • sudo make install

    ./arch/x86/boot/目录下生成bzImage文件表示编译成功

    并且在/lib/modules/$(uname -r)/kernel/fs/nova下能够看到编译好的nova.ko模块

2.模拟PMem设备环境

建议内存4GB+,我的虚拟机分配了8G,将地址6g~8g分配给pmem

使用memmap命令将内存某块区域分配给pmem设备

memmap用法

  1. 修改grub文件,添加启动命令

    sudo vim /etc/default/grub

    添加GRUB_CMDLINE_LINUX="memmap=2G!6G"

  2. 重新制作grub启动文件(非uefi启动)

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg

  3. 重启机器,查看是否生成/dev/pmem0,或者看dmesg|grep user

3. 初次挂载Nova文件系统
  1. 载入nova.ko模块sudo modprobe nova

    查看是否载入成功lsmod | grep nova

  2. 挂载至某个目录sudo mount -t NOVA -o init /dev/pmem0 /mnt/ramdisk

参考文献
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值