Linux裸设备管理简介

1、什么是Linux裸设备?字符设备?块设备?

裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。

字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。

块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。

2、一个系统可以有多少个裸设备?

这个与linux的版本相关,在旧版本中,最多只可以有256个裸设备,Linux 4下做多可以绑定8192个裸设备。

但是在linux下,最多只能有255个分区,所以,如果用裸设备绑定分区,最多只能绑定255个裸设备。

如果是用lvm,则没有这个限制。

3、Linux下单个磁盘最多可以有多少个分区?

15个。3个主分区 + 1个扩展分区 + 11个逻辑分区。

建议的分区方法是:先分3个主分区,第四个分区为扩展分区,然后在扩展分区中再分成11个逻辑分区。

注意,裸设备不要绑定在扩展分区上。

4、linux下是否需要绑定裸设备?unix呢?

linux下如果需要使用裸设备,则需要手工进行绑定。

unix下则不用。

因为Unix中每一个块设备都会有一个对应的字符设备用于非缓存(unbuffered)I/O,这就是他对应的裸设备了。

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45425.htm

而Linux中rawio的则实现了一套非绑定(unbound)的裸设备/dev/rawN或者/dev/raw/rawN和一个控制设备/dev/rawct用来把他们绑定到块设备上。所以当需要使用一个裸设备的时候,就需要把他和一个真实存在的块设备对应起来,这一个步骤实际上就是完成了Unix里的自动对应一个非缓存字符设备。

5、linux如何绑定裸设备?

两种方式:

1)命令绑定

raw /dev/raw/raw[n] /dev/xxx

其中n的范围是0-8191。raw目录不存在可以创建。

执行这个命令,就会在/dev/raw下生成一个对应的raw[n]文件

用命令方式绑定裸设备在系统重启后会失效。

2)修改文件

修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备,如:

/dev/raw/raw1 /dev/sdb1

这种方式是通过启动服务的方式来绑定裸设备。

也可以把这个命令写在/etc/rc.local上,使每次启动都执行这些命令。

6、如何把裸设备作为oracle数据文件?有什么需要注意的?

1)绑定裸设备

参考上文

2)改变裸设备属主

两种方法:

. 把命令卸载/etc/rc.local上

chown oracle:oinstall /dev/raw/raw1

. 修改/etc/udev/permissions.d/50-udev.permissions文件

将/etc/udev/permissions.d/50-udev.permissions的113行

raw/*:root:disk:0660

修改为

raw/*:oracle:oinstall:0660

这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。

如果是用lvm,也需要把逻辑卷绑定到裸设备上,过程和绑定到普通分区类似。

7、使用裸设备作为oracle数据文件有什么需要注意的?

使用裸设备作为oracle的数据文件必须注意以下几点:

1)一个裸设备只能放置一个数据文件

2)数据文件的大小不能超过裸设备的大小

如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)

如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)

为了简单起见,对所有的文件设置称比裸设备小1M即可。

3)数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小

8、是否可以直接用逻辑卷作为oracle数据文件?

linux下oracle不能直接把逻辑卷作为裸设备,也要进行绑定。unix下就不需要。

9、如何知道当前绑定了什么裸设备?

raw -qa命令列出当前绑定的所有裸设备。

10、如何知道某个裸设备的大小

比较笨的办法是,找出看裸设备对应的是那个实际的块设备,然后用fdisk -l /dev/[h,s]dXN看那个块设备的大小就好了。

比较简单的办法是用blockdev命令来计算,如:

#blockdev --getsize /dev/raw/raw1

11718750

11718750表示有多少OS BLIOCK。

一般一个OS BLOCK大小是512字节,所以11718750*512/1024/1024/1024 = 5722(m) 就是裸设备的大小。

时间: 2024-10-27 05:44:34

Linux裸设备管理简介的相关文章

Linux裸设备管理详解(原创)

裸设备概述 裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备.裸设备可以绑定一个分区,也可以绑定一个磁盘. 字符设备:对字符设备的读写不需要通过OS的buffer.它不可被文件系统mount. 块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中. 这个与linux的版本相关,在旧版本中,最多只可以有256个裸设备,Linux 4下做多可以绑定81Array2个裸设备.但是在linux下,最多只能有255个

Linux Namespace机制简介

最近Docker技术越来越受到关注,作为Docker中很重要的一项技术,Namespace也就经常在Docker的简介里面看到. 在这里总结一下它的内部机制.也解决一下自己原来的一些疑惑. Namespace是什么: C++中的Namespace: 首先,先提一下Namespace是什么.最早知道这个名词是在学习C++语言的时候.由于现在的系统越来越复杂,代码中不同的模块就可能使用相同变量,于是就出现了Namespace,来对全局作用域进行划分. 比如C++的标注库都定义在STD Namespa

面向 DBA 的 Linux Shell 脚本简介

http://www.itpub.net/showthread.php?s=&threadid=720028 面向 DBA 的 Linux Shell 脚本简介 7 年前,Oracle 发布了 Linux 上的第一个商业数据库.从那时起,Oracle.Red Hat 和 Novell/SUSE 就不断地合作更改 Linux 内核,从而提高数据库和应用程序的性能.正因为这样,用于 Linux 的 Oracle 数据库 10g 才包含了与操作系统紧密相关的许多增强功能.DBA 比以往任何时候更需要了

Linux GRUB2配置简介

学习 GRUB 引导加载程序是如何预备你的系统并启动操作系统内核的. 自从上个月为我的文章<Linux 引导和启动过程简介>做研究开始,我对更深入了解 GRUB2 产生了兴趣.这篇文章提供了配置 GRUB2 的简要介绍.为了简便起见,我大多数情况下会使用 GRUB 指代 GRUB2. GRUB GRUB 来自 GRand Unified Bootloader 的缩写.它的功能是在启动时从 BIOS 接管掌控.加载自身.加载 Linux 内核到内存,然后再把执行权交给内核.一旦内核开始掌控,GR

Linux解压缩命令简介及解压缩命令使用_unix linux

一.解压缩命令简介 tar命令 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. #

存储那些事儿(二): 下一代Linux文件系统BTRFS简介

    BTRFS,通常念成 Butter FS,Better FS 或B-tree FS.下一代的Linux文件系统.     它基于写时拷贝(copy-on-write),支持高效的snapshot和clone.它使用b-tree作为存储的数据结构.在BTRFS项目主页上对自己是这么描述的:"一个新的针对Linux的写时复制文件系统,致力于实施高级的功能,同时关注容错.修复和管理方便性."    它有哪些高级功能呢?下面的feature来自BTRFS的项目主页:http://btr

linux目录树简介

linux目录树如下: 详解: /bin: 系统有很多放置执行档的目录,但/bin比较特殊.因为/bin放置的是在单人维护模式下还能够被操作的指令.在/bin底下的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令. /boot: 这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等. Linux kernel常用的档名为:vmlinuz,如果使用的是grub这

Linux文件权限简介

一.用户与用户组 为了更好地理解文件权限,我们需要先有用户和用户组的概念.因为在Linux里面,任何一个文件都具有"User(用户).Group(用户组)及Others(其他用户)"3种身份的个别权限. 1.用户和文件所有者的概念 你用来登陆Linux主机的那个用户名就是一个用户,例如,root就是一个用户,而Linux上存在很多的用户.如果你在Linux上创建了一个文件,那么默认情况下你就是这个文件的所有者. 2.用户组的概念 有了用户就可以区分不同的文件的所有者,也可以根据文件的所

Linux Shell命令简介

这篇文章中我介绍几个非常实用的和网络相关的命令 一.ifconfig 这个命令在Windows下被"翻译为ipconfig",它用于显示网络接口,子网掩码等详细信息. 注:在每个系统中,默认都有一个称之为环回接口的lo,这个接口指向当前主机本身. ifconfig 左边一列是网络接口名,占据10个字节,右边的若干列显示对应的网络接口的详细信息. 下面这张截图是在博主的电脑上运行这个命令之后显示的信息: 相关技巧 1.打印网络接口列表 ifconfig | cut -c -10 | tr