Linux系统/dev/mapper目录

Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/mapper/VolGroup-lv_root和/dev/mapper/Volume-lv_home两个文件系统名,不解,在网上查找资料后,在此浅谈/dev/mapper目录。

一、理解Linux系统的Device mapper机制

Device mapper是Linux2.6内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理。在具体管理时需要用到Linux下的逻辑卷管理器,当前比较流行的逻辑卷管理器有 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等。

想要详细了解Device mapper机制,可参考博文 http://blog.sina.com.cn/s/blog_6237dcca0100hnwb.html ,此处不再赘述。

二、/dev/mapper目录的解释

为了方便叙述,假设一台服务器有三块硬盘分别为a,b,c,每块硬盘的容量为1T。在安装Linux的时候,先根据系统及自身的需要建立基本的分区,假设对硬盘a进行了分区,分出去了0.1T的空间挂载在/boot目录下,其他硬盘未进行分区。系统利用Device mapper机制建立了一个卷组(volume group,VG),你可以把VG当做一个资源池来看待,最后在VG上面再创建逻辑卷(logical volume,LV)。若要将硬盘a的剩余空间、硬盘b和硬盘c都加入到VG中,则硬盘a的剩余空间首先会被系统建立为一个物理卷(physical volume,PV),并且这个物理卷的大小就是0.9T,之后硬盘a的剩余的空间、硬盘b和硬盘c以PV的身份加入到VG这个资源池中,然后你需要多大的空间,就可以从VG中划出多大的空间(当然最大不能超过VG的容量)。比如此时池中的空间就是2.9T,此时你就可以建立一个1T以上的空间出来,而不像以前最大的容量空间只能为1T。

/dev/mapper/Volume-lv_root的意思是说你有一个VG (volume group卷组)叫作Volume, 这个Volume里面有一个LV叫作lv_root。其实这个/dev/mapper/Volume-lv_root文件是一个连接文件,是连接到/dev/dm-0的,你可以用命令ll /dev/mapper/Volume-lv_root进行查看。

其实在系统里/dev/Volume/lv_root 和 /dev/mapper/Volume-lv_root以及/dev/dm-0都是一个东西,都可当作一个分区来对待。

若要了解硬盘的具体情况,可通过fdisk或者pvdisplay命令进行查看。

若你想要重装系统到/dev/sda下,且安装时有些东西不想被格式化想转移到/dev/sdb下,但此时/dev/sda和/dev/sdb被放到VG中了,那该如何解决该问题呢?这种情况下,由于此时根本没办法确定数据在哪一个硬盘上,因为这两个硬盘就如同加到池里,被Device mapper管理,所以解决方案就是再建个逻辑卷出来,把数据移到新的卷里,这样你就可以重装系统时只删掉之前分区里的东西,而新的卷里的东西不动,就不会丢失了。

时间: 2024-11-05 01:08:54

Linux系统/dev/mapper目录的相关文章

Linux系统/dev/mapper目录浅谈

Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/mapper/VolGroup-lv_root和/dev/mapper/Volume-lv_home两个文件系统名,不解,在网上查找资料后,在此浅谈/dev/mapper目录. 一.理解Linux系统的Device mapper机制 Device mapper是Linux2.6内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的

Linux系统编程_1_目录读取实现简单ls命令

闲来无事,随便写写,实现简单的ls命令: | 1 #include <stdio.h> | 2 #include <stdlib.h> | 3 #include <dirent.h> | 4 #include <string.h> | 5 | 6 int main(int argc, char **argv) | 7 { | 8 DIR *pDir; | 9 struct dirent *stDir; | 10 int flag = 0; | 11 | 12

Linux系统的/proc目录

1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机 制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式 为访问系统内核数据的操作提供接口.用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是 动态从系统内核读出所需信息并提交的.下面列出的这些文件或子文件夹,并不是都是在

VMware10中的CentOS6.5命令行安装VMware tools工具启用windows与虚拟机中Linux系统的共享目录

一.描述 系统描述:win7旗舰版64位系统+VMware Workstation10+CentOS6.5(win7系统上安装了VMware Workstation10虚拟化软件,在该虚拟化软件上安装了CentOS6.5),现在我想要在win7系统和CentOS系统之间传递数据,那么我只要在虚拟机上安装VMware tools工具并启动共享目录即可. 二.安装步骤 1.VMware tools安装 1.1 选中要安装VMware tools的linux虚拟机,然后点击VMware Worksta

Linux 系统分区与目录介绍

###系统分区 分区: 把大硬盘分为小的逻辑分区 格式化: 写入文件系统 挂载: 给每个分区分配挂载点 必须分区: /:根分区 swap分区:交换分区,内存2倍,不超过2GB 推荐分区: /boot:启动分区,200MB Linux各目录的作用 /bin/: 存放系统命令的目录,普通用户和超级用户都可以执行. /usr/bin/: 存放系统命令的目录,普通用户和超级用户都可以执行. 这些命令和系统启动无关. /sbin/: 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设

linux系统/var/log目录下的信息详解

一./var目录 /var 所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/var/spool/mail 二.:/var/log/ 系统的引导日志:/var/log/boot.log例如:Feb 26 10:40:48 sendmial : sendmail startup succeeded就是邮件服务启动成功! 系统日志一般都存在/var/log下常用的系统日志如下:核心

virtualBox下面安装linux系统如何共享目录

背景: 系统是win+virtualBox 在虚拟机中安装了linuxMint系统. 如何共享目录呢 第一步: 在虚拟机中安装增强功能 2,在virtualBox中设置共享目录 3,在linux下创建共享目录 winShare mkdir winShare 4,设置挂载,注意linuxMintShare和winShare的名字不能一样. sudo mount -t vboxsf linuxMintShare /home/komiles/winShare 5,查看文件 linux下面: windo

Linux系统/etc/sysconfig目录下没有iptables文件

在新安装的linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件. 解决办法: 1.键入以下命令,新建文件 2.复制以下代码,此代码默认开启80,3306,22端口 # Firewall configuration written by system-config-firewall# # Manual customization of this file is not recommended.*filter:INPU

linux系统主要常见目录结构

linux系统的一切从“/”开始,并按照文件系统目录标准FHS采用树桩结构来存放文件 并定义了每个区域的用途.