标签:笔记
命令磁盘存储和文件管理
一切皆文件:
函数类型文件:open()、read()、write()、close()(对文件进行操作所调用的系统函数)
设备类型文件:(/dev/)
块设备(b):block,存取单位“块”,(1k,2k,4k)典型:磁盘
字符设备(c):char,存取单位“字符”,典型:/dev/zore,、/dev/null
设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
设备号码:主设备号(表示设备类型)、次设备号(同类型下设备编号)
创建设备文件:mkmod /PATH/NAME b|c 主号 次号
硬盘接口类型
并行:
IDE:133MB/s(少见)
SCSI:640MB/s(少见)
串口:
SATA:6Gbps,约750MB/s(常用于家用pc)
SAS:6Gbps(多用于SERVER)
USB:480MB/s
rpm:rotations per minute(每分钟转数)
硬盘类型:
机械硬盘(HDD):Hard Disk Drive,传统普通硬盘。
固态硬盘(SSD):Solid State Drive,固态电子存储芯片列阵制成的硬盘
区别:
1、性能:SSD在防震抗摔、传输速率、功耗、重量、噪音上明显优于HDD,SSD传输速率性能是
HDD的两倍
2、价格:HDD在价格、容量、使用寿命上优于SSD
现状:
目前SSD不能完全取代HDD(硬盘有价,数据无价:HDD在数据的可恢复性上占据绝对优势)
设备文件命名
磁盘设备的设备文件命名:/dev/sd
不同磁盘标识:a-z
同一设备上的不同分区:1,2,...(主分区和扩展分区1-4,从5往后表示逻辑分区)
硬盘存储术语
head:磁头
track:磁道
sector:扇区(一个扇区512bytes)
cylinder:柱面
CHS(磁盘三维):
采用24bit位寻址,前10bit表示cylinder,中间8bit表示head,最后6bit表示sector
最大寻址空间:8G=[(512631024*255)byte/1024/1024]G
CHS最多只能表示8G,超过就得使用LBA方式
LBA(逻辑块寻址):
利用ZBR(Zoned Bit Recording,区位记录磁盘扇区结构)来描述硬盘结构
每个磁道中存放的扇区数不同,外圈多,内圈少
LBA(logical block addressing)采用48bit位寻址
最大寻址空间128PB
硬盘的使用三大步:
1、分区
2、创建文件系统:格式化
3、挂载:分配目录名
注意:不对硬盘进行上述操作直接使用,可以存数据,但存的全是二进制数
分区
目的:
优化I/O性能
实现磁盘空间的配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
分区方式:
MBR、GPT
两种方式配合相应硬件程序:
早期主板内置BIOS配合MBR
较新主板内置UEFI配合GPT
MBR(Master Boot Record,主引导记录):
使用32位表示扇区数,分区不超过2T
按柱面划分(cylinder=51263255,约8MB),划分的大小为8MB的整数倍,centos6开始按扇面
划分
0磁道0扇区存放分区信息:
总大小:512bytes
boot loader(引导装载):446bytes
分区表:64bytes(一个分区用16byte表示)
55AA(分区结束标识):2bytes
分区结构:
3个主分区+1个扩展分区(包含N个逻辑分区)
注意:扩展分区中分的逻辑分区的分区表信息并不存在主分区表中,而是存在逻辑分区自己的小空间中
备份分区表信息:
dd if=/dev/sda of=/data/mbr_bak bs=1 count=512(本地备份)
scp /data/mbr_bak ip地址:/data(将本地备份存入网络服务器)
克隆分区表信息:
dd if=/dev/sda of=/dev/sdb bs=1 count=512(克隆sda硬盘分区表信息至sdb)
注意:
1、sdb>=sda
2、只能克隆主分区表
GPT
GUID(Globals Unique Identifiers,全局唯一标识符)partition table支持128个分区,使用
64位,支持8Z(512Byte/block)64Z(4096Byte/block)
使用UUID(Universally Unique Identifier,通用唯一标识符)表示磁盘和分区GPT分区表,自动备份在头和尾两份,并有CRC校验位
管理分区
列出块设备:
lsblk
创建分区:
fdisk:创建MBR分区
gdisk:创建GPT分区
parted:高级分区操作
partprobe:同步内存和硬盘分区表信息
parted命令
操作实时生效,小心使用
parted /dev/sda mklabel gpt|msdos 创建分区类型
mkpart primary 1 200(默认M) 创建主分区
rm 分区号 删除分区
-l 列出分区信息
fdisk和gdisk命令
fdisk管理MBR分区,gdisk管理GPT分区(两命令用法基本相同)
fdisk -l 查看分区信息
fdisk /dev/sda 管理分区
p:分区列表
t:更改分区类型
n:创建新分区(p(primary)主,e(extended)扩,l(logical)逻辑)
d:删除分区
v:校验分区
u:转换单位
w:保存退出
q:不保存退出
同步分区表
fdisk -l 查看的是硬盘上的分区表信息
lsblk 查看的是内存中的分区表信息
cat /proc/partitions 查看内核中的分区表信息
修改分区表后硬盘和内存、内核中的分区表信息会不同,此时需要进行同步操作
partprobe(centos5|7)
partx -a /dev/sda 在sda增加分区时使用
partx -d --nr 分区号 /dev/sda 在sda删除分区时使用
创建文件系统
何为文件系统:
操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构成为文件管理系统,简称文件系统
功能:
负责为用户建立文件,存入,读出,修改,转储文件,控制文件的存取,安全控制,日志,压缩,加密等
支持的文件系统:
/lib/modules/uname -r
/kernel/fs文件夹下存放支持的文件系统
文件系统分类:
按操作系统分类:
linux:
ext(Extended file system,扩展文件系统)2,3,4(主流)、xfs(SGI)、btrfs(Oracle)、reiserfs、jfs(AIX)、swap
光盘:
iso9660
Windows:
FAT32(不支持4G以上文件),exFAT(u盘),NTFS
Unix:
FFS(fast),UFS(unix),JFS2
网络文件系统:(跨网络访问,相当于共享文件夹)
NFS,CIFS
集群文件系统:(cluster,多个服务器可以同时访问一个存储设备)
GFS2,OCFS2(oracle)
分布式文件系统:
fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:(无文件系统,追求高性能,但不便于管理)
未经处理或者未经格式化产生的文件系统
按时否支持journal(日志)功能分类:
日志作用:先从内存中读对文件的操作,在将操作传给文件。保证文件系统安全性,不会因掉电造成正在修改的文件损坏
日志型文件系统:ext3,4、xfs,...
非日志型:ext2、vfat
文件系统的组成部分:
内核中的模块:ext4、xfs、vfat
用户空间的管理工具:mkfs.ext4、mkfs.xfs、mkfs.vfat
linux的虚拟文件系统:VFS
查看当前支持的文件系统:cat /proc/filesystems
附:
buffer和cache的区别
cache缓存:针对读缓存,将读入的数据缓存,为下次访问提供便利
buffer缓冲:针对写缓冲,将写好的数据缓冲,等系统空闲写入文件
文件系统的特性
单节点:
xfs(支持超大容量)、ext4、btrfs
网络/多节点:
gfs2(允许多个服务器同时访问,集群环境使用)
创建文件系统
mkfs命令:
mkfs.ext4|xfs|... /dev/device(设备)
mkfs -t ext4|xfs|...
-L “LABEL(标签,卷标)”:设置卷标
mke2fs命令(ext系列文件系统专用管理工具):
-t ext2,3,4
-b 1024|2048|4096:设置最小存储单元大小
-L “LABEL”
-j:相当于-t ext3
-i #:为数据空间中每多少个字节创建一个inode,大小不应该小于block的数量的大小
-N #:指定分区中创建多少个inode
-l:一个inode记录占用的磁盘空间大小,128--4096
-m #:为管理员预留空间占总空间百分比(默认5%)
-O 功能:启用指定功能
-O ^功能:关闭指定功能
文件系统标签
作用:
指向设备的另一种方法(与设备无关)
blkid命令:
查看块设备属性信息
-U uuid:根据指定uuid查找对应的设备
-L label:根据指定label查找对应的设备
e2label命令:
管理ext系列文件系统的LABEL
e2label DEVICE LABEL
findfs命令:
查找分区
findfs LABEL= :以卷标为条件查找
findfs UUID= :以uuid为条件查找
tune2fs命令:
重新设定ext系列文件系统可调整参数的值(只能针对ext的文件系统)
-l:查看指定文件系统超级块信息(super block)
-L LABEL:修改卷标
-m #:预留给管理员的空间百分比
-j:将ext2升级为ext3
-O:文件系统属性启用或禁用(^)
-o:调整文件系统的默认挂载选项(^)
-U uuid:修改UUID号(配合uuidgen命令生成的uuid使用)
别轻易改uuid,因为写配置文件时一般用uuid表示设备
dumpe2fs命令:
查看块分组信息
-h:查看超级块信息,不显示分组信息
文件系统检测和修复
常发生于死机或非正常关机后
挂载文件系统标记为“no clean”
注意:一定不要在挂载状态下修复(df命令查看挂载状态)
fsck命令:
fsck.FS_TYPE|-t FS_TYPE:指明文件系统(系统会自动检测,一般不需人为指定)
-p:自动修复
-r:交互式修复
-y:自动回答yes
-f(force):强制修复(有时即使显示clean,也可能会有损坏)
e2fsck:类似于fsck,fsck在修复是调用的就是e2fsck
当文件系统为xfs时,用xfsrepair修复
xfs文件系统管理命令:xfs...(tab可查看所有选项)
挂载
何为挂载:(mount)
将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问该文件系统的入口
挂载点(mount point):目录
何为卸载:(umount)
解除此关联关系的过程
卸载时可使用设备名,也可以使用挂载点
进程正在使用中的设备无法被卸载
注意:
1、挂载点下的原有文件在挂载完成后会被隐藏(与隐藏文件不同),所以挂载点目录最好为空
2、两个文件系统(设备)不能挂载到同一个目录(挂载点)下,一个文件系统可以挂载到多个目录下
挂载文件系统
mount命令:
先通过查看/etc/mtab/文件显示当前已挂载的所有设备
指明挂载设备:
1、设备文件:例/dev/sd...
2、卷标:-L LABEL
3、UUID:-U uuid
4、伪文件系统名称
指明挂载点:
dir:事先存在,建议使用空目录
选项:
-t:指明挂载设备的文件系统(一般不加,系统可自动检测)
-r(readonly):只读挂载
-w(read and write):读写挂载
-n:不更新/etc/mtab,mount不可见(起到隐藏挂载作用)
-a:自动挂载所有支持自动挂载的设备(定义在/etc/fstab文件中,且挂载选项中有auto功能)
-B,--bind:绑定目录到另一个目录上
查看内核追踪到的所有已挂载设备:cat /proc/mounts
-o(option):挂载文件系统的选项,多个选项用逗号份分隔
async:异步模式(写文件先写入buffer,空闲时在写入用硬盘)
sync:同步模式,内存更改时,同时写硬盘
atime/noatime:目录和文件的访问时间戳(默认noatime)
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载,即是否支持-a选项
exec/noexec:是否支持在文件系统上运行应用程序
dev/nodev:是否支持在此文件系统上使用设备文件
suid/nosuid:是否支持suid和sgid权限
remount:重新挂载(进程正在使用时也可以重新挂载)
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载设备,对/etc/fstab的使用
acl:启用此文件系统上的acl功能
loop:使用loop设备(用于挂载使用文件当设备的文件系统)
centos6:默认只有8个loop设备,超过限制需自己建loop设备(mknod)还需修改权限,批量增
加loop设备:在/boot/grub/grub.conf文件中的kernel最后添加max_loop=指定值
centos7:无限制
用losetup命令创建文件与loop设备的关联
defaults(默认):相当于rw,suid,dev,exec,auto,nouser,async
卸载
进程正在使用中的设备无法被卸载
先查看挂载情况:
findmnt mount_point|device
再查看正在访问指定文件系统的进程:
lsof mount_point
fuser -v mount_point
终止所有正在访问指定文件系统的进程:(慎重使用)
fuser -km mount_point
最后卸载:
umount device|mount_point
文件挂载的配置文件
作用:
mount命令挂载的文件系统在系统重启后无法保存
想永久保存挂载配置需写进/etc/fstab文件中
使用mount -a命令挂载/etc/fstab中的所有文件系统,当文件中添加新配置用该命令激活,当对文件中已有配置修改时用mount -o rmount命令实激活
定义:
/etc/fstab每行定义一个要挂载的文件系统
六大项:
1、设备标识:UUID、LABEL、设备名
2、挂载点
3、文件系统类型
4、挂载选项:defaults、...、
5、备份频率:0(不备份)、1(每天备份)、2(每隔一天备份),但是需要结合备份工具使用
6、自检顺序:0(不自检)、1(首先自检,一般只有rootfs采用)、2,...自检顺序依次执行
注意:
1、挂载以文件模拟的设备时,设备标识不能用UUID,要用文件路径,挂载选项用loop
2、挂载光盘时,设备标识用设备名,文件系统类型为iso9660
实验1:
迁移/home到新的分区
1、备份/home/*
2、创建一个新的磁盘分区(fdisk|gdisk)
3、创建文件系统(mkfs)
4、创建一个临时挂载文件夹/mnt/home,并挂载(mkdir,mount)
5、防止用户正在访问修改/home下文件,切换至单用户模式(init 1,此模式无法联网)
该步骤不建议使用,可通知用户迁移时间,确保迁移时/home无用户-访问
6、将/home下文件迁移至/mnt/home(cp -av)
7、检查迁移结果(ls /home /mnt/home -l)
8、删除/home下文件,释放空间(rm -rf /home/*
)
9、将新分区写入/etc/fstab(vim,例:UID=XXX /home ext4 default 0 0)
10、卸载临时挂载点并删除(umount,rm)
11、若切换至单用户模式,在迁移完要将模式切回(init 5)
交换分区和文件
作用:
系统内存不足时,拿硬盘来模拟内存(偶尔使用,若经常使用说明内存需要升级了)
硬盘需求:高性能硬盘,同一块硬盘外道好于内道
free命令:查看系统内存和swap
创建swap分区
用物理分区创建:
1、创建分区
2、mkswap创建文件系统
3、在/etc/fsabe文件中添加条目
UUID swap swap default,[pri=value(值)](设置优先级值,越大优先级越高) 0 0
4、swapon -a激活交换空间
用文件创建:
1、创建文件(dd if=/dev/zore of=/swapfile bs=1024M count=2)
2、mkswap /swapfile
3、vim /etc/fstab
/swapfile swap swap default 0 0
4、swapon -a
注意:
物理分区创建的swap分区性能优于文件创建的swap分区
swap命令选项:
-a:激活所有交换分区
-p(priority):指定优先级
-s:查看所有激活的swap
swapoff:禁用swap分区
移动介质
访问前,一定要挂载
摘除前,一定要卸载
挂载点通常在/media或/mnt下
光盘:
图形环境下自动启动挂载,否则就必须被手动挂载
mount /dev/cdrom /mnt
eject命令卸载或弹出光盘
-t:弹入光盘
制作ISO镜像文件:
cp /dev/cdrom /PATH/centos#.iso
dd if=/dev/cdrom of=/PATH/centos#.iso
打包文件夹制作iso文件:
mkisofs -r -o /PATH/XXX.iso /PATH
mkdvdios脚本,用法:mkdvdiso.sh source(源文件,可多个) /PATH/DVDiso
刻录光盘:
wodim -v -eject centos.iso
USB:
查看USB设备是否识别:
lsusb
被内核检测为SCSI设备(/dev/sd...)
图形环境下自动挂载,否则必须手动挂载
mount /dev/sd... /mnt
注意:往u盘里拷文件时,因为系统默认async模式,所以显示拷完可能数据还在buffer中,多用几次sync命令来同步数据进u盘,防止文件拷失败
常用工具
df:
查看文件系统空间占用等信息
-H:以1000为单位
-T:显示文件系统类型
-h:以人类易读的单位显示
-i:显示节点号
-P:以Posix兼容格式输出(当有过长文件名时,自动将格式对齐)
du:
查看目录空间占用信息
-h:以人类易读的单位显示K,M,G(默认单位为K)
-s:目录总大小
--max-depth=#:指定最大深度#
dd:
复制和转变文件
用法:dd if= of= bs= count= skip= seek= conv=
if= of= bs= count= 复制文件并对原文件的内容进行转换和格式化处理
if 从文件输入(读)(/dev/zore/全零的字符设备)
of 输出(写)到文件
bs 指定块大小
count 指定写的块数
skip 跳过输入文件的前多少个块
seek 跳过输出文件的前多少个块
conv 用指定参数转换文件
转换参数:
ascii:转换EBCDIC为ASCII
ebcdic:转换ASCII为EBCDIC
lcase:大写字符转换为小写字符
ucase:小写字符转换为大写字符
nocreat:不创建输出文件
noerror:出错不停止
notrunc:不截断输出文件
sync:输入块不足用空字符补齐
fdatasync:不写入buffer,直接写入磁盘
RAID
何为RAID:
Redundant Arrays of inexpensive Disks(廉价的磁盘冗余阵列)
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
作用:
提高IO能力:磁盘并行读写
提高耐用性:磁盘冗余来实现
实现方式:
硬RAID:
外接式:通过扩展卡提供适配能力
内接式:主板集成RAID控制器
安装OS前在BIOS里配置
软RAID:
软件RAID:通过OS实现
级别:多块磁盘组织在一起的工作的不同方式
RAID-0:条带(strip)化存储,读写性能提升,无容错能力(最少两块硬盘)(磁盘利用率100%)
RAID-1:镜像(mirror)化存储,读能力提升,写能力下降,有容错能力(2)(50%)
RAID-3:0基础上,多块数据盘异或运算,值存于专用校验盘(3)(n-1/n)
RAID-5:3基础上,校验值也条带化存储,读写性能提升,有容错能力,允许最多1块磁盘损坏(3)(n-1/n)
RAID-6:5基础上,增加一次校验,读写能力提升,有容错能力,允许最多2块磁盘损坏(4)(n-2/n)
RAID-10:先做两两一组1,再将多组1做0,读写提升,有容错性,每组镜像最多只能坏一块(4)(当6块硬盘时,一块损坏后,系统失败率1/5)(性能最好!!!)
RAID-01:先做0,再将两组0组合成1,读写提升,有容错性,只能有一组镜像损坏(4)(当6块硬盘时,一块损坏后,系统失败率3/5)
RAID-50:先做5在做0,性能好,成本高
JBOD(Just a Bunch Of Disks):只是把多块磁盘空间合并成一个大的连续空间使用,性能没有提高
RAID-7:自带操作系统和管理工具,可独立运行,理论上性能最高的RAID模式
常用级别:
0,1,5,10,50,JBOD
软RAID(生产中不常见,基本都是用硬RAID)
mdadm命令:
为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi(复选) devices)
RAID设备可命名为/dev/md{0,1,...}
命令用法:
模式:
-C:创建
-A:装配
-F:监控
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r:移除磁盘
创建RAID:
mdadm -C /dev/md# -a yes -l# -c # -n # -x # /dev/DEVICE...
-C:创建模式
-a:自动创建目标RAID设备的设备文件
-l:指明要创建的级别
-c(chunk):指明块大小,单位k(默认512)
-n:指明创建该RAID的设备数
-x:指明备用设备数
-D:显示raid的详细信息
cat /proc/mdstat:观察md状态
-G:扩展RAID,增加新成员(配合-a使用),增加后还需同步成员文件系统:
resize2fs /dev/md#(ext系列)
xfs_growfs /PATH/mount_point(xfs系列)
实验2
创建raid-5:
1、创建分区,大小一致(硬盘直接使用,分区要用t改类型为fd)
2、mdadm命令创建(mdadm -C /dev/md0 -a yes -l5 -c 32 -n 3 -x 1 /dev/sd...)
3、mkfs.ext4 /dev/md0
4、vim /etc/fstab
5、mdadm -Ds /dev/md0 > /etc/mdadm.conf(生成配置文件)
测试:
mdadm -S /dev/md0停止设备(先umount)
mdadm -As /dev/md0激活设备
mdadm -R /dev/md0强制启动
模拟损坏:
mdadm /dev/md0 -f /dev/sd#标记损坏
mdadm /dev/md0 -r /dev/sd#删除
mdadm /dev/md0 -a /dev/sd#添加
创建raid-10
假设a,b,c,d四块硬盘
方法1:
mdadm -C /dev/md0 -a yes -l1 -n2 /dev/sd{a,b}
mdadm -C /dev/md1 -a yes -l1 -n2 /dev/sd{c,d}
mdadm -C /dev/md2 -a yes -l0 -n2 /dev/md{0,1}
方法2:
mdadm -C /dev/md0 -a yes -l10 -n4 /dev/sd{a,b,c,d}
删除raid
1、取消挂载(保证无人访问情况下)
2、删除/etc/fstab中对应配置
3、rm -f /etc/mdadm.conf
4、查看组成该RAID的分区(-D)
5、停止设备(-S)
6、删除组成该RAID的分区
7、删除磁盘上RAID残留信息(mdadm --zero-supperblock /dev/分区)
LVM
何为LVM:
Logical Volume Manager,逻辑卷管理器
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
行为:
允许多个物理设备间重新组织文件系统
将设备指定为物理卷(物理卷是用固定大小的物理区域(Physical Extend,PE)来定义的)
用一个或多个物理卷来创建一个卷组
在物理卷上创建逻辑卷(是由PE组成)
可在逻辑卷上创建文件系统
优势:
方便扩展空间
原理:
1、pvcreate实现:block devices --> physical volumes(普通硬盘变成物理卷)
2、vgcreate实现:physical volumes --> volume Group(将物理卷组合成一个卷组)
3、lvcreate实现:volume Group --> logical volumes(将卷组划分成多个逻辑分区)
实质:
创建出的逻辑卷其实是指向/dev/dm-#的软连接
dm:device mapper(设备映射)
LVM更改文件系统的容量:
通过交换PE来进行管理,将LV内的PE转移到其他设备中以降低LV容量,将其他设备中PE加到V中
以加大容量(通过对PE的操作实现扩容或缩减)
管理工具
pv工具
pvs:显示物理卷信息
pvdisplay:更详细的物理卷信息
pvcreate:创建pv
pvmove:移动物理卷(可自动选择同卷组下其他成员)
pvremove:删除物理卷
vg工具
vgs:显示卷组信息
vgdisplay
vgcreate
vgextend:扩展卷组
vgreduce:缩减卷组
vgremove(先移走卷组中pv在删除vg)
vgexport:导出卷组
vgimport:导入卷组
lv工具
lvs:显示逻辑卷信息
lvdisplay
lvcreate
-n:指定逻辑卷名
-l:指定大小(块数)后跟#%是指定剩余块数的百分比块数
-L:指定大小(容量)
lvextend(扩展后用resize2fs命令同步文件系统或直接加-r选项同步)
指定大小#(扩展到)|+#(扩展)
lvreduce:缩减逻辑卷大小
lvremove
实验3:
LVM管理
1、创建:
创建物理卷:pvcreate 设备...(可同时创建多个)
创建卷组:vgcreate -s #(指定PE大小) 卷组名 物理卷设备...
创建逻辑卷:lvcreate -n lv0(指定逻辑卷名) -l #(%FREE)(指定PE块数) 卷组名
创建文件系统:mkfs.ext4 /dev/卷组/逻辑卷
挂载:mount
2、扩展:(支持磁盘在挂载情况下直接扩展)
将新硬盘创建成物理卷
加入卷组:vgextend 需扩展卷组 新物理卷
扩展逻辑卷:lvextend -r(同步文件系统,针对ext文件系统) -L #(加到)|+#(加)(指定PE大小) 需扩展逻辑卷
3、缩减:
缩减逻辑卷:
卸载:umount
检查文件完成性:fsck -f或e2fsck -f
缩减文件系统:resize2fs(重新设置文件系统大小)
缩减逻辑卷:lvreduce
挂载:mount
缩减卷组:
搬家:pvmove
从卷组中移除:vgreduce
删除移除pv:pvremove
4、跨主机迁移卷组
查看pv所在硬盘:pvdisplay
若vg中pv分布在不同硬盘,需先将pv移动到一个硬盘上:pvmove
删除空pv(之前移动的pv):vgreduce
迁移前查看卷组名和逻辑卷名是否与新机器上卷组名、逻辑卷名冲突,若冲突则需事先改名:
vgrename、lvrename
卸载卷组上的逻辑卷:umount
禁用卷组:vgchange -an
导出卷组:vgexport
拆出硬盘装至新机器上
识别新设备:echo ‘- - -’ > /sys/class/scsi_host/host2/scan
导入卷组:vgimport
启用卷组:vgchange -ay
挂载:mount
逻辑卷快照
何为快照:
快照是特殊的逻辑卷
生成快照时会分配给它一定空间,但快照只在和原来的逻辑卷不同时才会消耗空间,即原逻辑卷数据被修改时会将旧数据复制到快照中,没改改动过的数据不做快照;通常建立快照只需要原逻辑卷的15%-20%就够了(快照不可能比原数据大),可以使用lvextend扩展快照大小
注意:
快照和逻辑卷必须在同一卷组中
快照无法代替备份功能,当逻辑卷所在硬盘损坏时,快照也会损坏
快照可用于实验环境,恢复实验前数据,或cp数据库
创建快照:
lvcreate -n 快照名 -s(snapshot,指明创建的是快照) -L 大小 -p r(增加只读属性,避免对快照误操作) /PATH/lv(指定对谁做快照)
恢复快照:
先卸载逻辑卷和快照
合并逻辑卷和快照:
lvconvert --merge 快照
注意:快照一旦合并,将被自动删除
删除快照:
先卸载快照
lvremove 快照
附:
ext和xfs快照差别:
ext文件系统创建快照时不加-p r选项会导致无法合并逻辑卷和快照,xfs文件系统则无影响
xfs文件系统挂载快照因快照和对应逻辑卷uuid相同导致挂载失败,需加-o nouuid选项,ext文件系统则不需要
标签:笔记
原文地址:http://blog.51cto.com/13672914/2109194