目录

文章目录

  • 目录
  • Linux 的伪设备
  • Loop 设备

Linux 的伪设备

在开发或测试环境中,往往需要新建一些磁盘分区或者设备等,此时对硬盘进行重新划分往往不太方便。在这种情况下,可以通过伪设备来进行模拟。

常见的伪设备包括:

  • null
  • zero
  • full
  • loop
  • random
  • urandom

Loop 设备

在 Linux 中,设备名称按照相应的设备驱动程序的符号表项来进行命名。为 Loop 伪设备被命名为 loopX,例如:/dev/loop0、/dev/loop1。

Linux 默认支持 8 个 Loop 设备,如果超过 8 个,则需要额外的配置。否则会出现 no such device 或 could not find any free loop device 之类的错误。

可以通过修改 modprobe.conf 配置文件,增加如下参数的方式进行扩展:

$ /etc/modprobe.conf
...
options loop max_loop=20$ modprobe -v loop

还有一种扩展 loop 设备数量办法是通过 mknod 指令来创建 loop 设备:

# X 表示第 X 个 loop 设备。
$ mknod -m 0660 /dev/loopX b 7 X# e.g.
$ mknod -m 0660 /dev/loop8 b 7 8
$ chown root:disk /dev/loop8

使用 losetup -a 指令可以查询目前被使用的 loop 设备:

$ losetup -a

在使用之前,Loop 设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口允许将文件视为一个 “块设备”(块特殊文件)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备一般被挂载。

这种设备文件经常被用于光盘或是磁盘镜像。通过循环挂载方式来挂载包含文件系统的文件,这些文件将出现在挂载点目录,使得应用程序可以访问这个文件系统中的文件。

例如,在 OpenStack 开发/测试环境中创建 Cinder 使用的块存储设备。

$ yum install -y device-mapper-persistent-data lvm2$ systemctl enable lvm2-lvmetad.service && systemctl start lvm2-lvmetad.service && systemctl status lvm2-lvmetad.service$ mkdir -p /cinder/volumegroup
$ dd if=/dev/zero of=/cinder/volumegroup/volpool01.img count=204800 bs=1MB
$ losetup /dev/loop0 /cinder/volumegroup/volpool01.img
$ pvcreate /dev/loop0
$ vgcreate cinder-volumes /dev/loop0
$ vgs$ vi /etc/rc.local
...
losetup /dev/loop0 /cinder/volumegroup/volpool01.img

Linux 操作系统原理 — loop 伪设备相关推荐

  1. Linux 操作系统原理 — 内存 — 内存分配算法

    目录 文章目录 目录 前文列表 内存碎片 伙伴(Buddy)分配算法 Slab 算法 虚拟内存的分配 内核态内存分配 vmalloc 函数 kmalloc 用户态内存分配 malloc 申请内存 用户 ...

  2. Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术

    目录 文章目录 目录 前文列表 物理地址与虚拟地址 内存空间的组织方式 虚拟地址空间的编址 内核态地址空间 用户态地址空间 内-外存空间的交换与虚拟存储空间之间的映射关系 缺页异常 前文列表 < ...

  3. Linux 操作系统原理 — 系统结构

    目录 文章目录 目录 Linux 系统架构 Linux 内核 内存管理 进程管理 文件系统 设备驱动程序 网络接口 Shell Linux 系统架构 Linux 系统一般有 4 个主要部分:内核.Sh ...

  4. Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术

    目录 文章目录 目录 前文列表 基于局部性原理实现的内-外存交换技术 局部性原理 Swap 交换分区 前文列表 <Linux 操作系统原理 - 内存 - 物理存储器与虚拟存储器> < ...

  5. Linux 操作系统原理 — 内存 — 页式管理、段式管理与段页式管理

    目录 文章目录 目录 前文列表 页式管理 快表 多级页表 基于页表的虚实地址转换原理 应用 TLB 快表提升虚实地址转换速度 页式虚拟存储器工作的全过程 缺页中断 为什么 Linux 默认页大小是 4 ...

  6. linux的原理和运用,Linux操作系统原理与应用_内存寻址

    原标题:Linux操作系统原理与应用_内存寻址 第五讲今天上线啦. 在本次课程中,陈老师详细的讲解了有关于内存寻址的演变的相关知识. 第一部分中,介绍了关于内存寻址的相关背景知识.内存寻址-操作系统设 ...

  7. Linux操作系统原理与应用09(完):设备驱动

    目录 1. 设备驱动概述 1.1 万物皆文件 1.2 设备分类 1.2.1 块设备 1.2.2 字符设备 1.2.3 网络设备 1.3 设备驱动分层结构 1.3.1 驱动类型与驱动分层 1.3.1 块 ...

  8. linux操作系统原理_Linux内核分析-操作系统是如何工作的(二)

    linux操作系统的主要构架如图1所示,我们知道,操作系统是通过管理CPU进程.存储器.文件系统.设备驱动.以及网络接口等相关部分来工作的,我们这里主要是通过分析关于CPU的操作即进程的管理执行来分析 ...

  9. Linux操作系统原理与应用01:概述

    目录 1. Linux内核的技术特点 1.1 单内核结构 1.1.1 单内核特性 1.1.2 微内核特性 1.2 抢占式内核 1.2.1 非抢占式内核特性 1.2.2 抢占式内核特性 1.3 支持动态 ...

最新文章

  1. 漫画:什么是 JVM 的垃圾回收?
  2. android 动态修改控件的宽高
  3. Python 中的作用域
  4. 朗读评价语言集锦_英语老师批改作业时的精彩评语集锦,超实用!
  5. 【转】extern “C“和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析
  6. 用生产者和消费者模式实现奇数偶数不同线程交替输出
  7. 【Python】画一个心形
  8. 马斯克再次创造历史!三位太空游客坐五手火箭成功升空,今晚达到空间站,票价3.5亿...
  9. ArrayList的动态扩容机制
  10. 内存超频时序怎么调_一个傻瓜式内存超频教程
  11. 计算机培训学校可行性报告,在线考试系统可行性分析报告
  12. SpringBoot的@Value注解设置默认值
  13. chrome 打开默认页 被篡改_chrome默认首页被修改如何解决_chrome首页被篡改的处理办法-系统城...
  14. C语言编程规范(个人整理)
  15. 【6.28校内test】T2 【音乐会】二重变革
  16. PPT文件不能编辑的原因,可能不是编辑限制
  17. 7系列FPGA数据手册:概述------中文翻译版
  18. 【opencv4.3.0教程】11之调整图像边缘(copyMakeBorder 与 borderInterpolate)
  19. 1024程序员节主题征文 | 2022年1024程序员节只剩一天
  20. html中3d哪个方向是x轴,详解用CSS绘制3D旋转立方体

热门文章

  1. Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹
  2. Android渗透测试Android渗透测试入门教程大学霸
  3. python第一单元笔记_Python 初学笔记 - 第一章-列表
  4. 漫威游戏的VR体验 让你尖叫
  5. 像“毒液”一样的粘液机器人火了,能取出体内异物,穿过1.5mm细缝无压力 | 哈工大港中大...
  6. MIT机器狗再进化,碎石冰面上跑也不打滑,这次真的稳如狗了
  7. 这家研究院太年轻,竟跟世界级选手“叫板”
  8. 曾在字节实习的程序员小姐姐,教你一步提取动漫线稿!比用PS更清晰
  9. 只需2.5W功耗,就能达到5TOPS算力!地平线新一代AIoT芯片「旭日3」发布
  10. 中国发展研究基金会联合百度发布智能经济白皮书:新基建是助燃剂,其势已成...