块设备


嵌入式行业知识结构导航

拈花ヽ惹草 提交于 2019-12-23 09:29:32
第一部分:Linux平台搭建与环境熟悉 了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。 1、Linux 简介; 2、Linux 系统的主要特点; 3、Linux 的组成; 4、主要的 Linux 版本; 5、嵌入式 Linux简介与发展 第二部分:虚拟机安装和LINUX系统安装 1、虚拟机安装; 2、Linux系统的安装; 3、Linux系统的常用软件的安装; 4、Linux快速入门 5、 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的Shell 应用 第三部分:嵌入式LINUX环境搭建 1、 建立嵌入式 Linux开发环境 2、 熟悉嵌入式开发平台 3、 嵌入式 Linux开发工具 4、 Linux下的调试技巧 5、 MAKE工程管理器 6、 硬件环境的搭建;arm-linux-gcc与 gcc安装配置 第四部分:U-Boot 了解 U-Boot 的作用及工作流程;了解Bootloader 的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。 1、 Bootloader介绍 2、 u-boot工程介绍 3、 u-boot的编译使用 4、 u-boot源码分析 5、 u-boot资源分配 6、 配置编译u-boot 7、 u-boot移植过程 8、 u-boot常用命令操作 9、 添加u

Ceph块设备介绍与安装配置

↘锁芯ラ 提交于 2019-12-19 19:01:57
一:rbd介绍 块是字节序列(例如,一个512字节的数据块)。基于块的存储接口是使用旋转介质(例如硬盘,CD,软盘甚至传统的9-track tape)存储数据的最常用方法。块设备接口的无处不在,使虚拟块设备成为与海量数据存储系统(如Ceph)进行交互的理想候选者。 Ceph块设备经过精简配置,可调整大小,并在Ceph集群中的多个OSD上存储条带化数据,ceph块设备利用了RADOS功能,例如快照,复制和一致性。 Ceph的RADOS块设备(RBD)使用内核模块或librbd库与OSD进行交互。 ‘ Ceph的块设备对内核设备,KVMS例如QEMU,基于云的计算系统,例如OpenStack和CloudStack,提供高性能和无限的可扩展性 。你可以使用同一群集同时操作Ceph RADOS网关,Ceph的文件系统和Ceph块设备。 二:创建与使用块设备 创建池和块 [root@ceph-node1 ~]# ceph osd pool create block 6 pool 'block' created 为客户端创建用户,并将密钥文件scp到客户端 [root@ceph-node1 ~]# ceph auth get-or-create client.rbd mon 'allow r' osd 'allow class-read object_prefix rbd_children,

Ceph块存储介绍

烈酒焚心 提交于 2019-12-19 03:20:06
1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助RADOS的快照、复制和一致性等特性提供了快照、克隆和备份等操作。Ceph的块设备是一种精简置备模式,可以拓展块存储的大小且存储的数据以条带化的方式存储到Ceph集群中的多个OSD中。 2. 访问块存储的方式 访问块存储的方式有两种,分别是KRBD的方式和librbd的方式。 2.1 KRBD方式 KRBD是Kernel RADOS Block Device的简称,它是通过Kernel模块中的RBD模块来实现访问后端存储的,在使用前需要先使用modprobe命令将内核中RBD模块进行加载,同时对内核版本也是有要求的,需要内核的版本不低于3.10,因为比这个版本低的内核还没将RBD模块集成到内核中,因此如果是CentOS6.x的一般需要先升下内核版本。 KRBD访问后端存储的方式一般适用于为物理主机提供的块设备,这种方式是基于内核模块驱动的,可以使用Linux自带的页缓存来提高性能。 以下是通过KRBD模块访问Ceph后端块设备的一些命令操作。 modprobe rbd # 加载RBD内核模块 modinfo rbd # 查看rbd模块信息 rbd create image_name -

Linux储存管理

 ̄綄美尐妖づ 提交于 2019-12-19 00:54:54
述 物理内存就是系统硬件提供的内存大小,是真正的内存。相对于物理内存,在Linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 vmstat命令 一个查看虚拟内存(Virtual Memory Statistics)使用状况的工具。使用该命令可以对虚拟内存、进程、CPU活动进行监控。 vmstat vmstat 3 2 //每3秒采集一次,共两次。 第一个参数是采样的时间间隔数(Interval),单位是秒,第二个参数是采样的次数(Count)。 符号 意义 r 表示运行队列。 b 表示阻塞的进程 swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足。 buff 用来存储要输出的数据大小。 free 空闲的物理内存的大小。 cache 用来存储要读入的数据大小。 si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用。 so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。 bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte。 bo 块设备每秒发送的块数量。 in 每秒CPU的中断次数,包括时间中断。 cs 每秒上下文切换次数,例如我们调用系统函数

【Linux】malloc 与共享内存原理区别

戏子无情 提交于 2019-12-14 01:15:06
本文主要分析内存以及I/O相关的系统调用和库函数的实现原理,根据原理给出在使用过程中需要注意的问题和优化的侧重点,本文涉及到的系统调用包括readahead,pread/pwrite,read/write,mmap,readv/writev,sendfile,fsync/fdatasync/msync,shmget,malloc。 本文先简单介绍应用程序对内存的使用以及I/O系统对内存的使用的基本原理,这对理解上述系统调用和库函数的实现有很大帮助。 1 内存管理基础 Linux对物理内存的管理是以页为单位的,通常页大小为4KB,Linux在初始化时为所有物理内存也分配了管理数据结构,管理所有物理页面。 每一个应用程序有独立的地址空间,当然这个地址是虚拟的,通过应用程序的页表可以把虚拟地址转化为实际的物理地址进行操作,虽然系统可以实现从虚拟地址到物理地址的转换,但并非应用程序的每一块虚拟内存都对应一块物理内存。Linux使用一种按需分配的策略为应用程序分配物理内存,这种按需分配是使用缺页异常实现的。比如一个应用程序动态分配了10MB的内存,这些内存在分配时只是在应用程序的虚拟内存区域管理结构中表示这一区间的地址已经被占用,内核此时并没有为之分配物理内存,而是在应用程序使用(读写)该内存区时,发现该内存地址对应得物理内存并不存在,此时产生缺页异常

Linux操作系统 Linux内核

我的未来我决定 提交于 2019-12-08 05:14:18
Linux内核 预备知识: 1、POSIX(Portable Operating System Interface of UNIX-可移植操作系统接口):定义了 操作系统 应该为 应用程序 提供的 接口标准 ,是IEEE为要在 各种UNIX操作系统 上运行的软件而定义的 一系列API标准的总称 。不同的操作系统根据POSIX标准将实现相同的功能的系统调用标准化。 2、一方面,设计程序只需要跟API打交道和系统调用无关紧要,另一方面, 内核 只跟 系统调用 打交道, 库函数及应用程序 是怎么系统调用不是内核所关心的。 3、完成同一功能, 不同内核 提供的 系统调用 (一个函数)是不同的,所以API又分为Windows API和Linux API。根据POSIX标准,在一个 POSIX操作系统 上开发的软件,能够在 任何其它的POSIX操作系统 上编译执行。 4、标准库:POSIX标准的C/C++库,一、BSD,这个库是AOSP使用的标准C库;二、Bionic,这个是BSD的衍生库,用于NDK开发;三、UNIX C/C++,GUN C/C++,MicroSoft Visual C/C++ 5、POSIX 进程间通信 :POSIX消息、POSIX信号量、POSIX共享内存;System V IPC 6、Linux内核的主要模块(或组件)分以下几个部分: 存储管理 、 CPU和进程管理 、

Linux中buff/cache内存占用过高解决办法

淺唱寂寞╮ 提交于 2019-12-06 15:19:49
Linux中buff/cache内存占用过高解决办法 https://www.cnblogs.com/rocky-AGE-24/p/7629500.html /proc/sys/vm/drop_caches linux的知识内容还是非常庞杂 需要就行学习. 在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少(我是说比例越少)。一般情况下,对此命令输出的理解可以分这几个层次: 不了解。这样的人的第一反应是:天啊,内存用了好多,14个多G,可是我几乎没有运行什么大程序啊?为什么会这样?Linux好占内存! 自以为很了解。这样的人一般评估过会说:嗯,根据我专业的眼光看的出来,内存才用了1.7G左右,还有很多剩余内存可用。buffers/cache占用的较多,说明系统中有进程曾经读写过文件,但是不要紧,这部分内存是当空闲来用的。 真的很了解。这种人的反应反而让人感觉最不懂Linux,他们的反应是:free显示的是这样,好吧我知道了。神马?你问我这些内存够不够,我当然不知道啦!我特么怎么知道你程序怎么写的? 根据目前网络上技术文档的内容,我相信绝大多数了解一点Linux的人应该处在第二种层次。大家普遍认为

(八)OpenStack---M版---双节点搭建---Cinder安装和配置

不羁的心 提交于 2019-12-06 02:23:32
↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ 》》》》》》 传送门 1.创建数据库并授权 2.获得admin凭证执行管理员命令并创建服务证书 3.创建块存储设备API接口 4.Controller节点安装块存储组件并配置 5.初始化块设备服务的数据库 6.配置计算节点以使用块设备存储 7.重启服务并设置开机启动 8.Compute节点安装并配置一个存储节点,此处用Compute节点代替 9.验证操作 1.创建数据库并授权 # mysql -uroot -p000000 > create database cinder; > grant all privileges on cinder.* to 'cinder'@'localhost' identified by '000000'; > grant all privileges on cinder.* to 'cinder'@'%' identified by '000000'; 2.获得admin凭证执行管理员命令并创建服务证书 # . /root/admin-openrc # openstack user create --domain default --password 000000 cinder # openstack role add --project service --user cinder admin

ceph中rbd的增量备份和恢复

混江龙づ霸主 提交于 2019-12-05 17:36:32
ceph中rbd的增量备份和恢复 ceph的文档地址: Ceph Documentation ​ 在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做OpenStack的后端简直是不要太爽,于是调研了使用ceph中的块设备rbd来对虚机进行增量备份和恢复。以下是虚机备份和恢复的实验步骤: 1. 前言: ​ 快照 的功能一般是基于时间点做一个标记,然后在某些需要的时候,将状态恢复到标记的那个点,这个有一个前提是 底层的数据没有破坏 ,举个简单的例子, Vmware 里面对虚拟机做了一个快照,然后做了一些系统的操作,想恢复快照,前提是存储快照的存储系统没用破坏,一旦破坏了是无法恢复的。 ​ ceph也有快照功能,同样,在这里的快照是用来保存存储系统上的状态的,数据的快照能成功恢复的前提是存储系统是好的,而一旦存储系统坏了,快照同时会失效的,所以最好是能够将数据备份下来。本篇博客主要是调研使用ceph的rbd命令来对存储设备进行基于快照的增量备份。 2. ceph中rbd的常用命令: 2.1列出存储池 ceph osd pool ls 2.2 查看存储池的内容 rbd ls --pool pool_name 例子 rbd ls --pool volumes 2.3 打快照 rbd snap create {pool-name}/

Linux 块设备驱动框架分析

倖福魔咒の 提交于 2019-12-05 14:32:02
Linux块设备驱动框架分析 1、块设备简介 块设备,I/O设备的一种,其将信息存储在固定大小的块中,每一块都有固定的地址,可在设备的任意位置读取一定长度的数据。典型的有硬盘、U盘、SD卡等。 本文将以硬盘为例,对硬盘的结构属性进行简单介绍。 硬盘的物理结构主要由盘体、控制电路、接口部件等组成。而硬盘的内部结构一般是指盘体的内部结构。盘体是一个密封的交替,里面包含磁头、盘片等部件。硬盘驱动器采用高精度、轻型磁头驱动/定位系统。这种系统磁头可以在盘面上快速移动。硬盘的数据管理是基于逻辑结构的。 硬盘的逻辑结构如图所示,由盘面、磁道、柱面以及扇区构成。 盘面号:硬盘的盘片一般有两个盘面,分为上、下盘面,个别硬盘盘面为单数。每一个盘面按照从上至下的顺序进行编号,得到盘面号(也叫磁头号)。每一个盘面对应一个读写磁头。 磁道:硬盘在格式化时,会被划分成很多同心圆,这些同心圆的轨迹成为磁道。 柱面:所有盘面的同一个磁道构成一个圆柱,称为柱面。硬盘数据的读写按照从上往下并按照柱面进行。同一个柱面的磁头按照从上到下的顺序全部读完后,才会切换到下一个柱面。磁头之间的切换是通过电子切换,而柱面的切换则是通过机械实现的。由于电子切换速度比机械切换的速度快,所以按照柱面读写,而不是按照盘面来读写。 扇区:磁道被划分为一段段圆弧,称之为扇区。外圈磁道的圆弧的线速度比内圈磁道圆弧的线速度高

工具导航Map