Ubuntu中使用LVM管理硬盘
Linux的逻辑卷管理器(Logical Volume Manager, LVM),通过使用该工具,用户可以在系统运行时动态调整文件系统大小。
为了做arm端的linux开发,在虚拟机下搭建了linux系统,安装的是ubuntu12。开始的时候设置了20G的硬盘空间,以为肯定够用了,我还是太年轻。装的软件和一些安装包将硬盘堆满了后,不知道怎么扩充硬盘,在网上找了许多方法都没有解决,了解到了LVM的好处,但是Ubuntu居然默认是没有安装在LVM分卷下的,能不能修改我是不知道了,干脆重安把。。。这里记录一下,以防后日再有需要
1、在虚拟机下安装Ubuntu前选择Try ubuntu,在这里我们进行LVM物理卷、逻辑卷组、逻辑卷的创建。
先安装lvm2:sudo apt-get install lvm2
sudo fdisk /dev/sda 设置sda1为1GB sda2 为默认大小 sda2配置为LVM
2、创建物理卷、逻辑卷组、逻辑卷
sudo pvcreate /dev/sda2 //建立物理卷
sudo vgcreate Myvg /dev/sda2 //建立逻辑卷组
sudo lvcreate -L 10G -n lvhome Myvg //建立lvhome逻辑卷
sudo lvcreate -L 10G -n lvroot Myvg //建立lvroot逻辑卷
sudo lvcreate -L 10G -n lvswap Myvg //建立lvswap逻辑卷
将之前建立的卷格式化
sudo mkfs.ext4 /dev/mapper/Myvg-lvroot
sudo mkfs.ext4 /dev/mapper/Myvg-lvhome
sudo mkfs.ext4 /dev/mapper/Myvg-lvswap
返回到桌面进行Ubuntu的安装
需要注意的是安装类型选择其他选项,在这里将逻辑卷对应的挂载点配置好即可。
安装完成后切勿重启,重启后起不来系统的,具体怎么解决我没有研究,反正我们先把该做的配置做好再重启。
sudo mount /dev/mapper/sysvg-lvroot /mnt
sudo mount /dev/mapper/sysvg-lvhome /mnt/home/
sudo mount /dev/sda1 /mnt/boot
sudo chroot /mnt
这几条命令会挂载各分区到Ubuntu Live的/mnt分区,然后chroot到/mnt。
现在我们已经位于新安装的Ubuntu文件系统中了,运行如下命令配置kernel module:
echo "dm-mod" >> /etc/modules
echo "dm-snapshot" >> /etc/modules
echo "dm-mirror" >> /etc/modules
echo "dm-mod" >> /etc/initramfs-tools/modules
echo "dm-snapshot" >> /etc/initramfs-tools/modules
echo "dm-mirror" >> /etc/initramfs-tools/modules
重新启动后就可以了
可以试验一下
lvextend -L +1G /dev/Myvg/lvroot
df -h 显示的与之前没有差别,不要急,执行resizefs /dev/Myvg/lvroot即可
这样我们就可以非常轻松的随时为根目录等增加容量了,不必再担心物理内存会不够。