Home Operation and Maintenance Linux Operation and Maintenance Detailed introduction on how to losslessly resize partitions in Linux

Detailed introduction on how to losslessly resize partitions in Linux

Jun 04, 2017 am 11:16 AM

This article mainly introduceslinuxHow to resize the partition without loss. The editor thinks it is quite good. Now I will share it with you and give it as a reference. Let’s follow the editor and take a look.

Situation:

  1. home: 500G

  2. root: 50G

  3. The root partition is not enough

Idea: divide part of the space of the home partition into the root partition

# 设置home分区大小为200G,释放300G空间
$ lvreduce -L 200G /dev/centos/home

# 将空闲空间扩展到root分区
$ lvextend -l +100%FREE /dev/centos/root

# 使用XFS文件系统自带的命令集增加分区空间
$ xfs_growfs /dev/mapper/centos-root
Copy after login

Example

situation

The partition /dev/mapper/centos-root mounted in the root directory is full, occupying 100%

$ df -h
Filesystem        Size Used Avail Use% Mounted on
/dev/mapper/centos-root  50G  50G  19M 100% /
devtmpfs         32G   0  32G  0% /dev
tmpfs           32G   0  32G  0% /dev/shm
tmpfs           32G 2.5G  29G  8% /run
tmpfs           32G   0  32G  0% /sys/fs/cgroup
/dev/mapper/centos-home 476G  33M 476G  1% /home
/dev/sda1        497M 238M 259M 48% /boot
tmpfs          6.3G   0 6.3G  0% /run/user/0
Copy after login

analyze

The partition space mounted in the root directory is too small, only 50G, while the server home directory is a very common directory and is mounted in nearly 500G space.

Idea: Allocate 300G space from the centos-home partition to the centos-root partition.

operation

1. Check the information of each partition

$ lvdisplay
--- Logical volume ---
LV Path        /dev/centos/home
LV Name        home
VG Name        centos
LV UUID        1fAt1E-bQsa-1HXR-MCE2-5VZ1-xzBz-iI1SLv
LV Write Access    read/write
LV Creation host, time localhost, 2016-10-26 17:23:47 +0800
LV Status       available
# open         0
LV Size        475.70 GiB
Current LE       121778
Segments        1
Allocation       inherit
Read ahead sectors   auto
- currently set to   256
Block device      253:2

--- Logical volume ---
LV Path        /dev/centos/root
LV Name        root
VG Name        centos
LV UUID        lD64zY-yc3Z-SZaB-dAjK-03YM-2gM8-pfj4oo
LV Write Access    read/write
LV Creation host, time localhost, 2016-10-26 17:23:48 +0800
LV Status       available
# open         1
LV Size        50.00 GiB
Current LE       12800
Segments        1
Allocation       inherit
Read ahead sectors   auto
- currently set to   256
Block device      253:0
Copy after login

2. Reduce the /home partition space

# 释放 /dev/centos/home 分区 300G 的空间
# 命令设置 /dev/centos/home 分区 200G空间
$ lvreduce -L 200G /dev/centos/home
WARNING: Reducing active logical volume to 200.00 GiB.
 THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
 Size of logical volume centos/home changed from 475.70 GiB (121778 extents) to 200.00 GiB (51200 extents).
 Logical volume centos/home successfully resized.
Copy after login

3. Increase / Root partition space

$ lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 50.06 GiB (12816 extents) to 325.76 GiB (83394 extents).
Logical volume centos/root successfully resized.
Copy after login

4. Expand XFS file space size

$ xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256  agcount=4, agsize=3276800 blks
     =            sectsz=512  attr=2, projid32bit=1
     =            crc=0    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=0
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 85395456
Copy after login

Completed

The above is the detailed content of Detailed introduction on how to losslessly resize partitions in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is Linux actually good for? What is Linux actually good for? Apr 12, 2025 am 12:20 AM

Linux is suitable for servers, development environments, and embedded systems. 1. As a server operating system, Linux is stable and efficient, and is often used to deploy high-concurrency applications. 2. As a development environment, Linux provides efficient command line tools and package management systems to improve development efficiency. 3. In embedded systems, Linux is lightweight and customizable, suitable for environments with limited resources.

How to start apache How to start apache Apr 13, 2025 pm 01:06 PM

The steps to start Apache are as follows: Install Apache (command: sudo apt-get install apache2 or download it from the official website) Start Apache (Linux: sudo systemctl start apache2; Windows: Right-click the "Apache2.4" service and select "Start") Check whether it has been started (Linux: sudo systemctl status apache2; Windows: Check the status of the "Apache2.4" service in the service manager) Enable boot automatically (optional, Linux: sudo systemctl

What to do if the apache80 port is occupied What to do if the apache80 port is occupied Apr 13, 2025 pm 01:24 PM

When the Apache 80 port is occupied, the solution is as follows: find out the process that occupies the port and close it. Check the firewall settings to make sure Apache is not blocked. If the above method does not work, please reconfigure Apache to use a different port. Restart the Apache service.

How to monitor Nginx SSL performance on Debian How to monitor Nginx SSL performance on Debian Apr 12, 2025 pm 10:18 PM

This article describes how to effectively monitor the SSL performance of Nginx servers on Debian systems. We will use NginxExporter to export Nginx status data to Prometheus and then visually display it through Grafana. Step 1: Configuring Nginx First, we need to enable the stub_status module in the Nginx configuration file to obtain the status information of Nginx. Add the following snippet in your Nginx configuration file (usually located in /etc/nginx/nginx.conf or its include file): location/nginx_status{stub_status

How to start monitoring of oracle How to start monitoring of oracle Apr 12, 2025 am 06:00 AM

The steps to start an Oracle listener are as follows: Check the listener status (using the lsnrctl status command) For Windows, start the "TNS Listener" service in Oracle Services Manager For Linux and Unix, use the lsnrctl start command to start the listener run the lsnrctl status command to verify that the listener is started

How to set up a recycling bin in Debian system How to set up a recycling bin in Debian system Apr 12, 2025 pm 10:51 PM

This article introduces two methods of configuring a recycling bin in a Debian system: a graphical interface and a command line. Method 1: Use the Nautilus graphical interface to open the file manager: Find and start the Nautilus file manager (usually called "File") in the desktop or application menu. Find the Recycle Bin: Look for the Recycle Bin folder in the left navigation bar. If it is not found, try clicking "Other Location" or "Computer" to search. Configure Recycle Bin properties: Right-click "Recycle Bin" and select "Properties". In the Properties window, you can adjust the following settings: Maximum Size: Limit the disk space available in the Recycle Bin. Retention time: Set the preservation before the file is automatically deleted in the recycling bin

How to restart the apache server How to restart the apache server Apr 13, 2025 pm 01:12 PM

To restart the Apache server, follow these steps: Linux/macOS: Run sudo systemctl restart apache2. Windows: Run net stop Apache2.4 and then net start Apache2.4. Run netstat -a | findstr 80 to check the server status.

How to optimize the performance of debian readdir How to optimize the performance of debian readdir Apr 13, 2025 am 08:48 AM

In Debian systems, readdir system calls are used to read directory contents. If its performance is not good, try the following optimization strategy: Simplify the number of directory files: Split large directories into multiple small directories as much as possible, reducing the number of items processed per readdir call. Enable directory content caching: build a cache mechanism, update the cache regularly or when directory content changes, and reduce frequent calls to readdir. Memory caches (such as Memcached or Redis) or local caches (such as files or databases) can be considered. Adopt efficient data structure: If you implement directory traversal by yourself, select more efficient data structures (such as hash tables instead of linear search) to store and access directory information

See all articles