https://pve.proxmox.com/wiki/LVM2
1、查看硬盘
fdisk -l
例如有/dev/sdb
2 分区
fdisk /dev/sdb
如果原来有分区,d 删除分区
g 转换为gpt格式
n 新建一个分区.默认分配所有空间
或者用下列命令新建分区
# sgdisk -N 1 /dev/sdb
3 创建pv
pvcreate /dev/sdb1
4 创建vg
vgcreate pve1 /dev/sdb1
5 创建lv 这里100g根据自己硬盘大小填写
lvcreate -n bak (目录命 ) -L 1t (空间 ) pve1 ( VG名)
lvcreate -n bak -L 1t pve1
lvscan #查看LV
mkfs.ext4 -T largefile /dev/pev1/data1 这个方式,几乎在几分钟完成快速格式化。
lvremove /dev/pve1/isomb 删除
命令:lvextend -L -1t /dev/pev1/data1 或者 lvresize -L 8t /dev/pev1/data1
注意:mkfs -t -c ext4 /dev/xxx ,其中 -c代表检查磁盘坏道,所花时间会很长。。
######################物理挂载############
开机自动挂载
vi /etc/fstab
/dev/sdb1 /root ext4 defaults 0 0
6 转换为thin-pool
lvconvert --type thin-pool pve1/data1
7 警告:
在某些情况下,LVM不会正确计算元数据池/块大小。请检查metadatapool是否足够大。必须满足的公式是:
PoolSize / ChunkSize * 64b = MetadataPoolSize
你可以通过获取这些信息
#lvs -a -o name,size,chunk_size
8 增加到存储 可以在数据中心 存储 直接添加lvm-thin id:lvm1, 卷组:pve1, thin pool:data
或者编辑/etc/pve/storage.cfg
lvmthin: lvm1
thinpool data
vgname pve1
content rootdir,images
二、增加为zfs格式:
1 创建存储池(raidz 两块硬盘是raid1,三块硬盘是raid5,还可以用raidz1,2,3等高级用法)
zpool create -f -o ashift=12 <pool> <device> log <device-part1> cache <device-part2>
对已有pool增加缓存
zpool add -f <pool> log <device-part1> cache <device-part2>
更换失败的硬盘
zpool replace -f <pool> <old device> <new-device>
pool存储池丢失处理.no pools avaliable
查看存储池状态
#zpool status -v
删除缓存
#rm -f /etc/zfs/zpool.cache
导入存储池
#zpool import zfs-v
如果提示 -f
#zpool import -f zfs-v
如果有设置过缓存或者log,可能会提示 -m
#zpool import -f zfs-v -m
LVM使用缓存
#sda为HDD sdb为SSD
1、创建物理卷
pvcreate /dev/sda
pvcreate /dev/sdb
2、创建卷组vg
vgcreate vg /dev/sda
vgextend vg /dev/sdb
移除增加的VG
vgreduce testVG /dev/sdb1
3、创建逻辑卷(data为存储卷,cache为缓存卷,meta为缓冲卷索引,其中cache:meta不能大于1000:1,meta最小为8M)
lvcreate -L 500G -n data pve1 /dev/sda
lvcreate -L 220G -n cache pve1 /dev/sdb
lvcreate -L 220M -n meta pve1 /dev/sdb
4、创建缓存池(注意cache和meta的顺序不能颠倒)
lvconvert --type cache-pool --poolmetadata vg/meta vg/cache
5、将存储卷加入到缓存池中(cachemode有writeback和writethrough两种模式,默认为writethrough)
lvconvert --type cache --cachepool vg/cache --cachemode writeback vg/data
注:writeback会在写入cache完成后,再写入date中
writethrough会在写入cache的同时,写入date(写入date慢于cache)
两种模式比较下writeback在使用过程中写入加速,但如果数据在缓存层中服务器掉电数据会丢失(现在已解决丢失问题,未研究)
writethrough写入较慢,但数据不易丢失
创建完成。