【lvm】:新建, 扩容与缩减卷

1. 新建卷

添加新硬盘并挂载到指定路径下

1.1 初始化新硬盘

可以看出当前磁盘有一块硬盘,名字叫sda,大小是100G

1.1.1 在外部挂载一块30GB大小的硬盘

1.1.2 重启系统,再次查看硬盘,可以看到这块挂载的硬盘了。名字叫sdb,大小是30G

1.1.3 对这块硬盘进行分区,格式选 8e 代表lvm分区

此时可以看到sdb1,代表这块新硬盘的分区完成

fdisk -l /dev/sdb

磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x75e7f5e8

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    60819455    30408704   8e  Linux LVM

1.2 创建新的LVM卷并挂载指定目录

创建顺序:依次是 VG->PV->PE->LV。VG最大,LV最小。一定要注意顺序。

1.2.1 先创建VG(Volume Group),卷组名称 lvmlx

# 查看系统所有VG
vgdisplay | grep 'VG Name'
  VG Name               centos
# 之前系统已经创建过了一个名称叫centos的卷组,下面新建一个新的卷组,名称叫lvmlx
$ vgcreate lvmlx /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
  Volume group "lvmlx" successfully created

1.2.2 不需要手动创建PV。如果VG是新建的,会自动创建一个PV

$ pvscan
  PV /dev/sda2   VG centos          lvm2 [<99.00 GiB / 4.00 MiB free]
  PV /dev/sdb1   VG lvmlx           lvm2 [<29.00 GiB / <29.00 GiB free]
  Total: 2 [127.99 GiB] / in use: 2 [127.99 GiB] / in no VG: 0 [0   ]
# 如果此时继续创建PV,会报错
$ pvcreate /dev/sdb1
  Can't initialize physical volume "/dev/sdb1" of volume group "lvmlx" without -ff
  /dev/sdb1: physical volume not initialized.

查看自动创建的PV信息

1.2.3 创建LV,并挂载到系统的指定目录下

# LV的名称:lvname1 
# VG的名称:lvmlx
# 创建一个名称叫lvname1的LV,挂载在lvmlx的VG上,大小是2000M
lvcreate -L 2000M -n lvname1 lvmlx
  Logical volume "lvname1" created.

# 查看刚才创建的LV名称
$ lvscan 
  ACTIVE            '/dev/centos/swap' [<7.88 GiB] inherit
  ...
  ACTIVE            '/dev/lvmlx/lvname1' [1.95 GiB] inherit

# 格式化LV分区类型,与现有系统保持一致
$ mkfs -t ext4 /dev/lvmlx/lvname1 
mke2fs 1.42.9 (28-Dec-2013)
...
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

# 挂载指定的目录
# 原有目录路径
lvMountOn=/srv/data/abc
mkdir -p /data/$lvMountOn
# 如果原来的路径不存在,就创建空目录
mkdir -p $lvMountOn
# 存放临时数据    
cp -r $lvMountOn/* /data/$lvMountOn/
# TODO 存在危险
#rm -rf $lvMountOn/*
mount /dev/lvmlx/lvname1 $lvMountOn/
# 恢复数据
cp -r /data/$lvMountOn/* $lvMountOn/

查看系统硬盘信息,可以看到新的LV已经挂载到指定目录上了。

1.3 设置开机自动挂载LV

# 新建的LV名称
lvName=lvname1
# 需要挂载的原有目录路径,即挂载点
lvMountOn=/srv/data/abc

# 获得LV的UUID
blkid | grep $lvName | awk -F "\"" '{print $2}'

# 将挂载信息加入到开启启动中
echo "UUID=0c6f4ad6-254a-490d-b8c7-079c4ac17e92 $lvMountOn ext4 defaults 0 0" >> /etc/fstab

# 卸载并重新挂载,验证fstab文件准确性
umount $lvMountOn
mount -a
mount | grep $lvName

2 扩容卷

2.1 创建新硬盘并分区

创建一个20G的硬盘,并分区成lvm格式。具体步骤同上(过程略)。

$ fdisk -l /dev/sdc

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x071e18e3

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    41943039    20970496   8e  Linux LVM

2.2 确定要挂载的路径

此次挂载到根目录

$ df -h | grep root
/dev/mapper/centos-root     50G   18G   33G   36% /

# centos-root VG+LV的名称
vgscan | grep centos
  Found volume group "centos" using metadata type lvm2

lvscan | grep root
  ACTIVE            '/dev/centos/root' [50.00 GiB] inherit

2.3 先创建PV, 然后将该PV加入到原有VG中

# 原有的pv,一共有两个
$ pvdisplay -c
  /dev/sda2:centos:207616000:-1:8:8:-1:4096:25343:1:25342:gAmMta-xKQp-rw6U-fzh9-f0ih-KBFv-4gXtjI
  /dev/sdb1:lvmlx:60817408:-1:8:8:-1:4096:7423:6923:500:DIe4O6-3FPT-a2jc-A6ki-m807-4DJR-vXGVV1
# 创建一个新PV,挂载点是sdc1
$ pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.
# 将这个PV,扩展到VG中
$ vgextend centos /dev/sdc1
  Volume group "centos" successfully extended

再次查看VG,已经扩展出了20GB

2.4 扩展原来的LV卷。

重启后依然生效,不需要在fstab中对硬盘进行额外的配置

#0 确定要扩展的LV,以及原始大小50G
 lvscan
  ACTIVE            '/dev/centos/swap' [<7.88 GiB] inherit
  ACTIVE            '/dev/centos/home' [<41.12 GiB] inherit
  ACTIVE            '/dev/centos/root' [50.00 GiB] inherit
  ACTIVE            '/dev/lvmlx/lvname1' [1.95 GiB] inherit
#1 给原来的LV,增加10GB
$ lvextend -L +10G /dev/centos/root

#2 确认挂载点的硬盘类型时xfs
cat /etc/fstab | grep centos-root
/dev/mapper/centos-root /                       xfs     defaults        0 0

#3 扩展原有分区,否则df显示还是原来的大小
$ xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 15728640

#4 再次查看硬盘大小,已经扩展了10G
df -h /
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   60G   18G   43G   30% /

<think>嗯,用户想在双系统环境下扩大Ubuntu系统的内存配置。首先我得弄清楚他们说的“内存”具体指的是什么。通常来说,内存是指RAM,但有时候用户可能会混淆内存存储空间。比如,用户可能实际上是想扩展Ubuntu的硬盘分区,而不是增加物理内存。所以需要先确认这一点。 根据问题描述,用户提到的是双系统环境,并且引用的资料都是关于分区调整扩容的,比如引用[2]中提到了给Ubuntu分区扩容,引用[3]讨论了分区划分的问题。所以很可能用户是想扩展Ubuntu的磁盘空间,而不是增加RAM。接下来,我需要考虑在双系统中如何安全地调整分区。 首先,用户需要备份重要数据,避免操作过程中数据丢失。然后,他们可能需要调整WindowsUbuntu的分区大小。这通常涉及到小Windows的分区,腾出未分配的空间,再将这些空间分配给Ubuntu。不过,调整分区有一定的风险,尤其是涉及到系统分区的时候。 接下来,用户需要进入Ubuntu系统,使用GParted这样的分区工具来调整分区。但在此之前,可能需要先卸载需要调整的分区,或者从Live USB启动Ubuntu,因为无法对正在运行的系统分区进行调整。例如,引用[2]中提到进入Ubuntu系统卸载分区,然后使用图形界面工具进行扩容。这里需要注意,扩展分区时可能需要先删除相邻的分区,或者调整逻辑管理(LVM)的设置,如果用户使用的是LVM的话。 另外,用户需要注意引导分区(/boot)的空间是否足够,引用[3]中提到boot空间不足会导致安装软件时出现问题。所以在扩容时,也要检查相关系统分区是否有足够的空间,特别是如果用户使用的是单独的/boot分区。 可能的问题包括:如何安全地小Windows分区,如何调整Ubuntu的分区而不损坏现有数据,以及如何处理引导问题。例如,引用[3]中提到必须将boot分区Win10放在同一硬盘,否则可能导致启动问题。所以用户在调整分区时,需要注意分区的布局,尤其是引导相关分区的位置。 最后,用户可能需要更新grub引导菜单,确保双系统启动正常。整个过程中,备份是关键,操作前需要确保有完整的备份,避免数据丢失。同时,建议用户查阅具体的教程或使用可靠的磁盘管理工具,如GParted,来执行这些操作。</think>在双系统环境下扩大Ubuntu系统的存储空间(注意:内存指RAM需硬件升级,此处理解为扩展硬盘空间),需按照以下步骤操作: --- ### 一、准备工作 1. **备份重要数据** 分区调整存在风险,建议用移动硬盘或云存储备份WindowsUbuntu的关键文件[^2][^3]。 2. **准备启动盘** 制作Ubuntu Live USB(如使用Ventoy工具),用于分区操作时引导系统[^1]。 3. **释放未分配空间** - 在Windows中通过`磁盘管理`压(右键分区→压),腾出未分配空间 - 若需扩容Ubuntu主分区,建议从相邻的Windows分区释放空间(如缩减NTFS分区) --- ### 二、调整分区操作 1. **使用GParted工具** 通过Ubuntu Live USB启动,选择"Try Ubuntu",打开终端安装GParted: ```bash sudo apt-get install gparted ``` 或直接使用Live系统预装的GParted。 2. **分区调整逻辑** - **扩展逻辑**:将未分配空间附加到Ubuntu分区(如`/dev/sda5`) - **操作限制**: - 只能向右扩展相邻的未分配空间 - 若空间不连续,需先移动分区(耗时较长且风险增加) 3. **具体步骤示例** ```mermaid graph LR A[Windows分区压出未分配空间] --> B[启动Ubuntu Live USB] B --> C{使用GParted} C --> D[卸载目标分区] D --> E[调整分区大小] E --> F[应用操作] ``` --- ### 三、特殊情况处理 1. **LVM逻辑扩容** 若Ubuntu采用LVM: ```bash sudo lvextend -l +100%FREE /dev/ubuntu-vg/root # 扩展逻辑 sudo resize2fs /dev/ubuntu-vg/root # 调整文件系统 ``` 2. **/boot分区单独扩容** 若原/boot分区过小(如引用[3]中500MB不足): - 新建更大的/boot分区(建议≥1GB) - 更新grub配置: ```bash sudo update-grub ``` --- ### 四、验证恢复 1. **检查文件系统** ```bash sudo fsck /dev/sdXN # X为磁盘编号,N为分区号 ``` 2. **挂载测试** 通过`df -h`命令确认分区量变化,避免直接重启导致系统无法进入。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值