使用linux内核仿真ZNS(zoned namespace SSD)
主要参考官方文档,其中有一些地方不够详细,本文章作补充说明,对新手更友好。
Zoned Block Device Emulation with null_blk
kernel配置
//查看自己的内核版本
uname -r
//内核代码在这里,如果没有请下载相应版本的内核代码
cd /usr/src
如下图,进入对应的内核代码文件夹
然后使用make menuconfig
,会出来图形化界面,再照着这个官方文档对选项打勾Kernel Configuration
如果失败可能是因为没有安装libncurses5-dev,这是图形化界面的依赖包。使用下面命令安装
apt-get install libncurses5-dev
创建ZNS设备
使用configfs创建和删除ZNS。
不论是创建还是删除zns设备,都是通过脚本来实现的。以创建为例,首先新建一个脚本,就叫做nullblk-zoned.sh
vim nullblk-zoned.sh
该文件中应该写入的内容原文档中已经给出,并且有详细解释。保存后,使用如下命令:
// 赋予权限,否则可能会报权限不够的错
chmod 777 ./nullblk-zoned.sh
//用脚本创建设备,后面的数字是参数
./nullblk-zoned.sh 4096 64 4 8
删除用脚本创建的设备,也需要通过脚本,过程是一样的。
创建完一个zns后需要将该设备的
创建的块设备在目录/sys/block
下 ,而目录/sys/block/deviceName/queue
目录下有块设备对应的信息
使用linux内核仿真ZNS(zoned namespace SSD)相关推荐
- linux内核中用来对共享资源进行隔离,简单理解Docker
什么是Docker Docker使用Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术 ...
- Linux网络虚拟化基石 network namespace
1 网络虚拟化基石 network namespace Linux的namespace的作用就是"隔离内核资源". 在Linux的世界里,文件系统挂载点.主机名.POSIX进程间通 ...
- Linux内核的namespace机制分析
1. Linux内核namespace机制 Linux Namespaces机制提供一种资源隔离方案.PID,IPC,Network等系统资源不再是全局性的,而是属于某个特定的Namespace.每 ...
- (编译适用于ARM的linux内核并进行QEMU仿真)Compile Linux kernel 3.2 for ARM and emulate with QEMU
译者序 作为第一篇翻译文档,一方面对于翻译经验不足.措辞不当,另一方面对于linux我也是初学者,很多东西尚处于待学阶段,而翻译此文的动机就是我要学习如何跨平台进行文件系统的编译,所以翻译的结果肯定有 ...
- Docker基础: Linux内核命名空间之(1) mnt namespace
作为开源Container技术代表的Docker,它跟Linux内核的Namespace和Cgroup两大特性密不可分.物有本末,事有终始.知所先后,则近道矣.理解Linux的这两大特性将有助于我们更 ...
- Docker基础: Linux内核命名空间之(3)net namespace
作为开源Container技术代表的Docker,它跟Linux内核的Namespace和Cgroup两大特性密不可分.物有本末,事有终始.知所先后,则近道矣.理解Linux的这两大特性将有助于我们更 ...
- linux 内核配置简介
Gentoo Linux Gentoo内核(gentoo-sources)特有的选项 Gentoo Linux support CONFIG_GENTOO_LINUX 选"Y"后, ...
- linux内核(4.17.10)配置项详解(x86)
64-bit kernel--支持64位 General setup--通用设置 Cross-compiler tool prefix--交叉编译工具前缀 Local version-append t ...
- 阿里linux内核月报201412
Live kernel patching on track for 3.20 运行时间敏感的用户一直以来都很希望有一种方法可以在不重启系统的情况下对运行的操作系统内核打补丁.目前有几个还没有进入主线内 ...
- 嵌入式Linux内核配置、裁剪与编译浅析(ARM版)
第一部分Linux内核裁减 (1)安装新内核: i)将新内核copy到/usr/src下并解压: #tar -zxvf linux-2.6.38.4.tar.gz ii) 将名为linux的符号链接删 ...
最新文章
- torch distributed 多GPU训练笔记
- CVPR 2020 《Transform and Tell: Entity-Aware News Image Captioning》论文笔记(数据集)
- linkedin爬虫_机器学习的学生和从业者的常见问题在LinkedIn上提问
- pythonwhile输出每一个余数_Python 基础 - day02-3
- 【转】pthread mutex 基本用法
- Class is not a root resource. It, or one of its interfaces must be annotated with @Path:
- 如何创建一个标准的Windows服务
- 数据科学 IPython 笔记本 8.12 文本和注解
- 【JVM】GC Roots 根可达
- win+apache实现ssl的证书认证
- ArcGIS Pro 性能诊断
- 【转】J2ME开发环境的建立
- [转]有关TinyXML使用的简单总结
- Entity Framework的简单使用之一对一关系
- Kafka之与Spring集成
- Maya批量随机替代插件BatchReplacerV1.0.2 下载及教程
- linux系统开机图片修改,linux开机logo 和 android开机logo 的修改
- 【小米商城首页简单设计】
- message from server: “Host is not allowed to connect to this MySQL server“问题的解决办法
- iMac重装系统的问题:无法与恢复服务器取得联系/将安装器信息下载到目标卷宗失败