如何扩展Linux系统根分区

课程推荐:Linux开发工程师--学习猿地精品课程

导读为了完成此实验,请确保Linux系统有足够的磁盘空间,如果磁盘空间不足则需要添加磁盘。本文档扩展Linux系统根分区的方法是在虚拟环境下做的,在生产环境下同样适用。

环境:VMware虚拟机Red Hat 6.5

技术:逻辑卷管理(LVM)
file

具体步骤:

1.查看磁盘空间

[root@localhost ~]# df -h

#查看磁盘空间,根分区的大小是18G,已经用了43%。

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 18G 7.0G 9.5G 43% /

tmpfs 2.0G 76K 2.0G 1% /dev/shm

/dev/sda1 485M 40M 421M 9% /boot

/dev/sr0 3.6G 3.6G 0 100% /media/cdrom

2.创建磁盘分区

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00083529

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 2611 20458496 8e Linux LVM

#/dev/sdb盘还有足够的空间

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes

255 heads, 63 sectors/track, 2285 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[root@localhost ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0xac7c929b.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1#分区号

First cylinder (1-2610, default 1): #回车用默认的

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): #回车用默认的

Using default value 2610

Command (m for help): t #改变类型

Selected partition 1

Hex code (type L to list codes): 8e #LVM的分区代码

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

/dev/sdb1 1 2610 20964793+ 8e Linux LVM

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# partprobe

#将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表,有些小报错不要紧。

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdb (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.

Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.

Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.

Error: Invalid partition table - recursive partition on /dev/sr0.

3.创建物理卷

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00083529

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 2611 20458496 8e Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

/dev/sdb1 1 2610 20964793+ 8e Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes

255 heads, 63 sectors/track, 2285 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[root@localhost ~]# pvcreate /dev/sdb1

#由fdisk -l查到LVM卷是/dev/sdb1,所以用/dev/sdb1来创建物理卷。

Physical volume "/dev/sdb1" successfully created

4.扩展卷组

[root@localhost ~]# pvdisplay

--- Physical volume ---

PV Name /dev/sda2

VG Name VolGroup

PV Size 19.51 GiB / not usable 3.00 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 4994

Free PE 0

Allocated PE 4994

PV UUID qkBdcn-RQaR-ZliO-Ja2S-RhMC-stw8-CO213I

"/dev/sdb1" is a new physical volume of "19.99 GiB"

--- NEW Physical volume ---

PV Name /dev/sdb1

VG Name

PV Size 19.99 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID H7tDqG-6AZv-yBSA-U0ov-Ni0y-dlPA-kAA83i

[root@localhost ~]# vgextend VolGroup /dev/sdb1

Volume group "VolGroup" successfully extended

You have new mail in /var/spool/mail/root

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name VolGroup

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 4

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 2

Max PV 0

Cur PV 2

Act PV 2

VG Size 39.50 GiB

PE Size 4.00 MiB

Total PE 10112

Alloc PE / Size 4994 / 19.51 GiB

Free PE / Size 5118 / 19.99 GiB

VG UUID dc0vI9-KzGu-4S59-A1xv-NM4Y-rYBF-3jDNRn

5.扩展逻辑卷

[root@localhost ~]# lvextend -l +100%free /dev/mapper/VolGroup-lv_root

#free也可以大写FREE

Extending logical volume lv_root to 37.50 GiB

Logical volume lv_root successfully resized

[root@localhost ~]# blkid /dev/mapper/VolGroup-lv_root

#查看分区文件系统类型

/dev/mapper/VolGroup-lv_root: UUID="972fdddd-ddb8-469f-a342-e075eaeabeb2" TYPE="ext4"

[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_root

#e2fsck -f检查分区

e2fsck 1.41.12 (17-May-2010)

/dev/mapper/VolGroup-lv_root is mounted.

e2fsck: Cannot continue, aborting.

[root@localhost ~]# resize2fs /dev/mapper/VolGroup-lv_root

#如果分区是xfs系统,则用xfs_growfs命令对文件系统进行扩展

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required

old desc_blocks = 2, new_desc_blocks = 3

Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 9830400 (4k) blocks.

The filesystem on /dev/mapper/VolGroup-lv_root is now 9830400 blocks long.

[root@localhost ~]# df -h

#查看磁盘空间,根分区已扩展到37G。

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 37G 7.0G 29G 20% /

tmpfs 2.0G 224K 2.0G 1% /dev/shm

/dev/sda1 485M 40M 421M 9% /boot

/dev/sr0 3.6G 3.6G 0 100% /media/cdrom

文章出自:https://www.itjlq.com/thread-149897-1-1.html

Image placeholder
song2000
未设置
  0人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Linux系统——架构浅析

导语:掐指一算自己从研究生开始投入到Linux的海洋也有几年的时间,即便如此依然对其各种功能模块一知半解。无数次看了Linux内核的技术文章后一头雾水,为了更系统地更有方法的学Linux,特此记录。历

别小瞧了 Linux,安卓、华为的自研系统,均源自 Linux!

众所周知,目前国内已有众多的国产系统,基本上均源自linux,以linux为基础进行二次开发。比如红旗linux、深度等等。但不知道为什么,一说起某系统是基于linux而来,很多网友就瞧不起,并且会觉

Java 程序员眼中的 Linux_1.0.Linux 介绍

Linux介绍 Linux这个名字 Linux的Wiki介绍:http://zh.wikipedia.org/zh/Linux Linux也称:GNU/Linux,而其中GNU的全称又是:Gnu’sN

[Java 程序员眼中的 Linux] Linux 下常用压缩文件的解压、压缩

Linux下常用压缩文件的解压、压缩 常用压缩包解压命令整理 Linux后缀为.tar.gz格式的文件-解压 命令:tarzxvfXXXXXX.tar.gz Linux后缀为.bz2格式的文件-解压

笨办法 学Linux 安装Linux

Linux学习起步 Windows,VirtualBox虚拟机(.ova格式的预配置映像) 学习Linux你需要什么 VitualBox,虚拟机播放器。 putty,终端模拟器。 预配置的Virtua

Linux/Unix 基础:什么是 Linux?

简单来讲,Linux是一个操作系统(OS)。我们都很熟悉其他操作系统,就像Microsoftwindows,AppleMacOS,iOS,Googleandroid,等等这些,linux就像它们一样,

Linux/Unix 基础:Linux 的历史

Linux的诞生 在1991年,来自芬兰Helsinki大学的学生LinusTorvalds认为市场上应该有一个比较统一的Unix版本,从此他就开始为这个项目奋斗。后来这个项目就成为了Linux操作系

Linux Kernel Linux内核项目

推荐课程:Linux开发工程师--学习猿地--送七个上线商业项目 Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林

Linux Libertine Linux字体

课程推荐:Linux开发工程师--学习猿地精品在线课 软件简介 出于对GNU/Linux发行版中所附带的字体不满,PhilippH.Poll于2003年9月启动了LinuxLibertine开放性字体

数据偏移、分区陷阱……我们这样避开DynamoDB的5个坑

摘要:本文主要介绍作者所在团队在具体业务中所遇到的挑战,基于这些挑战为何最终选型使用AmazonDynamoDB,在实践中遇到了哪些问题以及又是如何解决的。文中不会详细讨论AmazonDynamoDB

Linux的系统安装和环境介绍笔记

新建虚拟机向导 一定要选择稍后安装 LinuxCentos64位 虚拟机名称:CentosTest 20GB Centos6安装最小内容628MB如果系统小于628MB,会开启简易安装(这样我们学

线上环境 Linux 系统调用追踪

课程推荐:Linux开发工程师--学习猿地精品课程 提到如何动态追踪进程中的系统调用,相信大家第一时间都能想到strace,它的基本用法非常简单,非常适合用来解决“为什么这个软件无法在这台机器上运行?

面试题:如何理解 Linux 的零拷贝技术?

本文讲解Linux的零拷贝技术,云计算是一门很庞大的技术学科,融合了很多技术,Linux算是比较基础的技术,所以,学好Linux对于云计算的学习会有比较大的帮助。本文借鉴并总结了几种比较常见的Linu

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写

Linux 安装 Node.js

因为我用最简单yum命令安装node.js发现node的版本不是最新的所以自己手动安装了nodejs流程如下 进入服务器安装nodejs安装包 进入保存包的目录 $cddownload 下载二进制

Linux 安装 Node.js

因为我用最简单yum命令安装nodejs发现node的版本不是最新的所以自己手动安装了nodejs流程如下 进入服务器安装nodejs安装包 进入保存包的目录 $cddownload 下载二进制包

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写入

Linux 文件同步工具之 rsync

学习背景 1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器。但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器

笨办法学 Linux 学习文本编辑器--vim

Linux学习文本编辑器--vim 在Linux中,就像任何类Unix操作系统,一切都只是文件。而Unix哲学指出,配置文件必须是人类可读和可编辑的。在几乎所有的情况下,它们只是纯文本。所以,首先,你

笨办法学 Linux 初识less

#文本浏览器,少即是多 现在你可以编辑文本文件,这很好。但是如果你只想查看一个文本文件呢?当然,你可以使用vim,但很多时候它是过度的。还有两件事要考虑: 如果你想查看非常大的文件,你将需要在尽可能快

笨办法学 Linux Bash:Shell、`.profile`、`.bashrc`、`.bash_history`

Bash:Shell、.profile、.bashrc、.bash_history。 当使用CLI(命令行界面)来使用Linux时,你正在与一个名为shell的程序进行交互。所有你输入的都传递给she

笨办法学 Linux 学习处理文件,`pwd`,`ls`,`cp`,`mv`,`rm`,`touch`

Bash:处理文件,pwd,ls,cp,mv,rm,touch 在Linux中,一切都是文件。但是什么是文件?现在完全可以说,它是一个包含一些信息的对象。它通常定义如下: 计算机文件是用于存储信息的

工具分享:Linux tree 命令安装和使用

说明tree命令是一个比较实用文件系统查看工具,如下图,可以阶梯式地罗列某个目录下的所有子目录:如何安装?RHEL/CentOS下:#yuminstalltree-yDebian/Ubuntu, Mi

【Linux 工具】服务器文件传输利器 lrzsz

场景  服务端开发人员经常会遇到的一个场景就是将本地的文件传到服务器上,或者把服务器上的文件下载到本地,那这个时候大家一般会用ftp服务,来完成这件事。但是如果服务器上并没有安装ftp服务的时候,这个

这些linux技巧大大提高你的工作效率

前言linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的linux技巧。命令编辑及光标移动这里有很多快捷键可以帮我们修正自己的命令。接下来使用光标二字代替光标的位置