底层PV
中层VG
上层LV
 
PE(phsical extent):在逻辑层次上,VG把PV分成固定大小的块,这些块就叫PE,默认为4M ,创建LV的过程就是分多少个PE的过程。
自动分区的过程中,除了根目录,把其他所有的磁盘空间都做成LV
 
 
 
一. LVM概述
 
LVM: Logical Volume Manager, Version: 2
用的是dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;
 
两种引用文件的方式,他们引用的其实都是/dev/dm-0,1,2,3...等文件,
1.     /dev/mapper/VG_NAME-LV_NAME
       例如: /dev/mapper/vol0-root
 
2.   /dev/VG_NAME/LV_NAME
      例如:  /dev/vol0/root
 
 
 
二. 如何创建和管理逻辑卷呢?
 
 
首先要先创建PV,新建分区后需要把其类型调整为8e(Linux LVM)
 
   1)pv(物理卷)管理工具:
        pvs:简要pv信息显示
        pvdisplay:显示pv的详细信息
        pvcreate /dev/DEVICE: 创建pv
 
   2)vg(卷组,相当于逻辑分区,不能分区,可包含多个pv)管理工具:
        vgs--简要显示所有卷组
        vgdisplay
 
        vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]  ----指定大小
        例如:vgcreate myvg /dev/sda3
 
        vgextend  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]
 
        vgreduce  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...],需要先做pvmove
            
        vgremove
 
 
   3)lv(逻辑卷)管理工具:
        lvs
        lvdisplay
        lvcreate -L #[mMgGtT] -n NAME VolumeGroup  #-L指明大小,-n指明名字, 例如 lvcreate -L 2G -n mylv myvg,然后正常格式化,mke2fs -t ext4 -b 1024 -L MYLV /dev/myvg/mylv
        lvremove /dev/VG_NAME/LV_NAME
 
 
    扩展逻辑卷:
        # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME    #带上+是准确的加多少空间;不带上+,是扩展后的总空间
        # resize2fs /dev/VG_NAME/LV_NAME
 
    缩减逻辑卷:
        # umount /dev/VG_NAME/LV_NAME
        # e2fsck -f /dev/VG_NAME/LV_NAME
        # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
        # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
        # mount
 
 
4)例子
添加硬盘到卷组, 就是加一块新硬盘,增加到指定硬盘空间。
 
 
1、给新硬盘创建分区    fdisk /dev/sdc
       n
       p
       1
       w
2、创建物理卷 pvcreate /dev/sdc1
3、格式化物理卷 mkfs.ext3 /dev/sdc1, 选择哪一个文件系统最好用mount命令查看一下
4、将新的物理卷添加到卷组中 vgextend VolGroup00 /dev/sdc1,用pvs验证是否成功
5、将新的空间添加到逻辑卷中 lvextend -L +10G /dev/VolGroup00/LogVol00(提前可以挂载到目录下查看大小再决定添加的空间),此例是加了10G,随个人需要增加空间
6、加上去后,目前用df -h还看不到改变,需要激活 resize2fs -p /dev/VolGroup00/LogVol00
7、用df -h查看
 
实例1. 某校创建了300G的硬盘sdb,需要我加到卷组中,并挂到/home目录下,(其实挂载根目录下更好)
mkfs.ext4 /dev/sdb
vgextend VolGroup /dev/sdb
lvextend -L +299G /dev/VolGroup/lv_home
resize2fs -p /dev/VolGroup/lv_home
 
 
实例2. 某校虚拟机扩容 +200G
 
1. 先在虚拟机外面进行硬盘扩展--学校老师做了,但是我fdisk没看到有变化,重启一下就能看到扩展了200G
2. fdisk /dve/sda  新建分区,这里dev/sda3,新建的分区空间很小,那么需要重新新建一个分区,dev/sda4,w保存,然后重启
3. 格式化分区 mkfs.ext4 /dev/sda4
4. 建立pv,pvcreate /dev/sda4
5. 扩展vg ,  vgextend ubuntu_vg /dev/sda4  -------把新建的分区扩展到源ubuntu_vg
6. vgdisplay查看一下
7. 扩展lv,lvextend -L +199.9G /dev/ubuntu_vg/root
8. vgdisplay 查看一下
9. resize2fs -p /dev/ubuntu_vg/root    调整文件系统
 
http://www.cnblogs.com/tigertall/p/5257324.html    -----------最后一步按照 resize2fs -p /dev/VolGroup/lv_home  可以成功。
 
 
 
三.     快照:snapshot
 
         将文件系统迅速的扫描一遍,类似硬链接,必须在同一卷组,仅存储快照那一刻发生变化的文件,之前的原文件直接指向原地址空间。
         快照空间的大小取决于这个快照想用多少时间,比如2个小时内系统数据变化量大概为2G,那么快照空间设个3G就行。
 
        lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name #-s:指明是快照,-n:指明名字,-p:权限
        例如:lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv
                  mount /dev/myvg/mylv-snap /mnt
 
        不用快照的时候
         umount /mnt
         lvremove /dev/myvg/mylv-snap
 
    练习1:创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录;
    练习2: 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录;
    练习3:扩展testlv至7G,要求archlinux用户的文件不能丢失;
    练习4:收缩testlv至3G,要求archlinux用户的文件不能丢失;
    练习5:对testlv创建快照,并尝试基于快照备份数据,验正快照的功能;
 
 
 
四.  dd命令:convert and copy a file------底层文件复制工具,效率比cp更高
 
        用法:
            dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
                bs=#:block size, 复制单元大小;
                count=#:复制多少个bs;
                例如:复制etc/fstab文件中的前100个字节  dd if=/etc/fstab of=/tmp/fstab.2 bs=1 count=100
 
         1)磁盘拷贝:
              dd if=/dev/sda of=/dev/sdb
 
         2)备份MBR
                dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
 
         3)破坏MBR中的bootloader,不会影响分区表:
                dd if=/dev/zero of=/dev/sda bs=256 count=1
 
        两个特殊设备:
            /dev/null: 数据黑洞;
            /dev/zero:吐零机;

逻辑卷磁盘管理和dd命令的更多相关文章

  1. Linux系统管理第五次作业 LVM逻辑卷 磁盘配额

    1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 [root@localhost ~]# fdisk /dev/sdf 欢迎使用 fdisk (util-linux 2.23.2 ...

  2. Linux磁盘管理:LVM逻辑卷的拉伸及缩减

    ①查看当前VG的信息,保证VG中有足够的空闲空间 通过 vgdisplay 或者 vgs 命令 [root@rusky ~]# vgs rusky-vg VG #PV #LV #SN Attr VSi ...

  3. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  4. Linux系统磁盘管理(lvm逻辑卷管理)

    linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...

  5. [TimLinux] Linux LVM逻辑卷操作指南

    1. 新磁盘创建分区 $ fdisk /dev/newdisk n 创建分区 p 显示分区表 t 使用8e分区类型 d 删除已经存在的分区 w 将分区表写入并退出 q 不写入直接退出 如果使用整个磁盘 ...

  6. Linux LVM逻辑卷配置过程详解

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  7. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

    Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...

  8. LVM逻辑卷

    LVM逻辑卷 一.LVM逻辑卷概述 1.LVM的作用: 扩充磁盘:不动数据,在使用状态,将磁盘容量变大. 能把多个物理的磁盘整合成一张大的虚拟的磁盘,比如:有3个5G的磁盘,能把它们整合成一个15G的 ...

  9. 逻辑卷管理-LVM(Logical Volume Manager)

    一. 概念与由来 LVM:逻辑卷管理(Logical Volume Manager) 普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某文件时,这个文件因为受上层文件 ...

随机推荐

  1. python常用option

    [python常用option] 1. -c cmd : program passed in as string (terminates option list) 解析字符串命令,不读cmd之后的op ...

  2. Node.js的优点和缺点(转载)

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:FengqiAsia链接:http://www.zhihu.com/question/19653241/answer/1599 ...

  3. 40. Combination Sum II (Back-Track)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  4. IMU Noise Model

    1.参考资料2.相关定义3.IMU 的噪声模型3.1噪声的建模3.2白噪声和随机游走噪声的离散化3.3如何获取传感器噪声参数4.随机噪声和扰动的积分4.1建立模型4.2噪声的离散化模型推导4.3系统的 ...

  5. ThinkCMF框架使用 - 如何创建应用 -1

    .应用就是application目录下的一个模块,它是独立于其它模块存在的,有自己独立的运行空间: .应用采用MVC的结构: .拿Blog应用举例: Blog Controller 控制器目录(必备) ...

  6. UI设计可供性解析:巧用隐藏的设计力提升用户体验

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在实际的Web或App界面设计中,设计师们在学习和实践各种专业知识和技能之外,也会不可避免的遇到到各 ...

  7. 10个实用的UX设计作品推销小窍门

    以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 众所周知,产品用户体验很重要,即使是Google也知道这一点.但是,当真正涉及到UX 设计销 ...

  8. Android应用开发环境的搭建和使用

    主要包括Android SDK.Android开发工具:也包括如何使用Android提供的ADB.DDMS.AAPT.DX等工具,掌握这些工具是开发Android应用的基础技能. 1.Android的 ...

  9. Scheduling the Delivery of Local Notifications

    [Scheduling the Delivery of Local Notifications] Apps can use local notifications to display alerts, ...

  10. 475. Heaters

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...