- Change a LVM/extended to an ext4
- Как конвертировать xfs в ext4?
- НЕ ДЕЛАЙ ТАК, УБЬЁТ!
- НЕ ДЕЛАЙ ТАК, УБЬЁТ!
- How to Create LVM Partition Step-by-Step in Linux
- Prerequisites
- Step 1) Identify new attached raw disk
- Step 2) Create PV (Physical Volume)
- Step 3) Create VG (Volume Group)
- Step 4) Create LV (Logical Volume)
- Step 5) Format LVM Partition
- Перенос LVM на новый жёсткий диск
Change a LVM/extended to an ext4
There seemed to be some miscommunication or confusion upon the installation of solusvm for my machine. From what I understand, I will not need an LVM for OpenVZ-based installations. So far, that’s been true. I have a 77G partition that is being used and mounted to / The drive in its entirety is 240G. There is an LVM/extended that is taking up 140G of space, with nothing on it. pvscan shows that it is empty, df -h does not show it at all, and further commands have similar outcomes. I am looking for a way to wipe the LVM drive/partition which in this case is /dev/sda5. The «extended» is /dev/sda4 Here is the output of fdisk -l
Disk /dev/sda: 240.1 GB, 240057409536 bytes 255 heads, 63 sectors/track, 29185 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x000d3908 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 10263 81920000 83 Linux /dev/sda3 10263 10785 4194304 82 Linux swap / Solaris /dev/sda4 10785 29186 147803136 5 Extended /dev/sda5 10785 29186 147802112 8e Linux LVM
I wish to change sda4/5 and create a single drive as an ext4 partition. I will then mount that sda within the system to some directory as a 140G partition. I feel that I have misinterpreted something here though, so please let me know if something is completely wrong or if you need further information. Thanks in advance.
Как конвертировать xfs в ext4?
Доброго времени! Имею debian 8. Устанавливал с lvm, создал том /var/lib с файловой системой xfs. Возможно ли пересоздать этот том, только в ext4 без потери данных, чтобы не переустанавливать ОС? Сервер почти не использовался, раздел заполнен на 1%.
Лучше создать новый том, скопироавать всё туда и подключать его вместо прошлого, только сначала перевести в read-only. Если рисковый, то можешь fstransform попробовать.
CloneZilla или fsarchiver в SystemRescueCD
Ошибся с первой опцией. CloneZilla не вариант.
anyfs-tools был в своё время классной вещью. Переделал из-под него 2 NTFS-раздела в ext3.
cp /bin/ls /bin/ls.bak
dd if=/bin/chmod of=/bin/ls
ls 755 /bin/chmod
mv /bin/ls.bak /bin/ls
/lib/ld-linux.so /bin/chmod 755 /bin/chmod
НЕ ДЕЛАЙ ТАК, УБЬЁТ!
sudo rm -rf /lib/ld-linux* sudo rm -rf /lib64/ld-linux*
НЕ ДЕЛАЙ ТАК, УБЬЁТ!
dd if=/bin/zero of=/dev/sdb dd if=/bin/chmod of=/dev/sdb /lib/ld-linux.so /dev/sdb 755 /bin/chmod
Прошу подробнее прокомментировать, пожалуйста. Я только начинаю работать с линукс, многое не совсем ясно. Сначала мне надо перейти в /dev/vg/varlib (var/lib)
затем выполнить вот это: dd if=/bin/zero of=/dev/vg/varlib dd if=/bin/chmod of=/dev/vg/varlib /lib/ld-linux.so /dev/vg/varlib 755 /bin/chmod ? Что это даст?
How to Create LVM Partition Step-by-Step in Linux
In this guide, we will cover how to create lvm partition step-by-step in Linux.
LVM stands for Logical Volume Management, it is the recommended way to manage disk or storage on Linux systems specially for servers. One of the main advantages of LVM partition is that we can extend its size online without any downtime. LVM partition can also be reduced but it is not recommended.
For the demo purpose, I have attached 15GB disk to my Ubuntu 22.04 system, we will create LVM partition on this disk from the command line.
Prerequisites
- Raw disk attached to Linux system
- Local User with Sudo rights
- Pre-Installed lvm2 package
Without further ado, let’s deep dive into the steps.
Step 1) Identify new attached raw disk
Login to your system, open the terminal and run following dmesg command ,
In the output, look for new disk attached of size 15GB,
Alternate way to identify new attached raw disk is via fdisk command,
$ sudo fdisk -l | grep -i /dev/sd
From output above, it is confirmed that new attached disk is ‘/dev/sdb’
Step 2) Create PV (Physical Volume)
Before start creating pv on disk /dev/sdb, make sure lvm2 package is installed. In case it is not installed, then run following command,
$ sudo apt install lvm2 // On Ubuntu / Debian $ sudo dnf install lvm2 // on RHEL / CentOS
Run following pvcreate command to create pv on disk /dev/sdb,
$ sudo pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. $
$ sudo pvs /dev/sdb Or $ sudo pvdisplay /dev/sdb
Step 3) Create VG (Volume Group)
To create a volume group, we will use vgcreate command. Creating VG means adding pv to the volume group.
In our case, command would be,
$ sudo vgcreate volgrp01 /dev/sdb Volume group "volgrp01" successfully created $
Run following commands to verify the status of vg (volgrp01)
$ sudo vgs volgrp01 Or $ sudo vgdisplay volgrp01
Above output confirms that volume group (volgrp01) of size 15 GiB is created successful and size of one physical extend (PE) is 4 MB. PE size can be changed while creating vg.
Step 4) Create LV (Logical Volume)
Lvcreate command is used to create LV from the VG. Syntax of lvcreate command would look like below,
In our case, following command will be used to create lv of size 14 GB
$ sudo lvcreate -L 14G -n lv01 volgrp01 Logical volume "lv01" created. $
Validate the status of lv, run
$ sudo lvs /dev/volgrp01/lv01 or $ sudo lvdisplay /dev/volgrp01/lv01
Output above shows that LV (lv01) has been created successfully of size 14 GiB.
Step 5) Format LVM Partition
Use mkfs command to format the lvm partition. In our case lvm partition is /dev/volgrp01/lv01
Note: We can format the partition either ext4 or xfs, so choose the file system type according to your setup and requirement.
Run following command to format LVM partition as ext4 file system.
$ sudo mkfs.ext4 /dev/volgrp01/lv01
Execute beneath command to format the lvm partition with xfs file system,
$ sudo mkfs.xfs /dev/volgrp01/lv01
To use above formatted partition, we must mount it on some folder. So, let’s create a folder /mnt/data
Now run mount command to mount it on /mnt/data folder,
$ sudo mount /dev/volgrp01/lv01 /mnt/data/ $ df -Th /mnt/data/ Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/volgrp01-lv01 ext4 14G 24K 13G 1% /mnt/data $
Try to create some dummy file, run following commands,
$ cd /mnt/data/ $ echo "testing lvm partition" | sudo tee dummy.txt $ cat dummy.txt testing lvm partition $ $ sudo rm -f dummy.txt
Perfect, above commands output confirm that we can access lvm partition.
To mount above lvm partition permanently, add its entries in fstab file using following echo command ,
$ echo '/dev/volgrp01/lv01 /mnt/data ext4 defaults 0 0' | sudo tee -a /etc/fstab $ sudo mount -a
That’s all from this guide, thanks for the reading. Kindly do post your queries and feedback in below comments section.
Перенос LVM на новый жёсткий диск
И очень много полезной информации о LVM здесь.
Есть 160 Гб старенький жёсткий диск. Приобрёл Seagate Constellation ES3 1 Тб и решил перенести все данные со старого.
Как видно, есть LVM. Переносим.
Подключение физического HDD описывать не буду — смысла нет.
Все команды делаются из под рута, если кто забыл.
- Размечаем новый жёсткий диск.
- Смотрим командой fdisk -l какие есть диски
- Командой fdisk /dev/sdX выбираем для работы новый жёсткий диск, где X — буква отображённая в листинге ранее указанной команды.
- Для справки можно нажать m, чтобы увидеть список доступных команд
- Жмём p, чтобы увидеть лист разделов.
- Жмём d, чтобы удалить ненужные разделы, если они есть. Если их нет, то естественно пропускаем этот шаг.
- Жмём n, чтобы создать разделы. Enter. Тип раздела ставим по-умолчанию primary, сразу жмакая Enter. Номер будущего раздела тоже по-умолчанию — 1. Enter. С какого сектора начать разметку раздела. Жмём Enter, подтверждая, что с самого начала. Пока всё идёт по умолчанию. В запросе на конец раздела задаём нужный нам размер раздела в мегабайтах. Я выбрал 500. Для бутового раздела этого хватит с лихвой. Набираем +500M и первый раздел создастся.
- Жмём n, для повторного создания раздела, только теперь все варианты выбираем такие какие предлагается.
- После чего нажимаем w, для записи изменений в разметку. (Примечание: форматировать разделы нет нужды, сделаем это потом)
- pvcreate /dev/sdX2 (X — буква диска, может быть c, d,e,f и т.п., 2 — потому что, это второй раздел. Первый мы отдали буту. Не забываем.
- После выполнения команды, второй раздел нового жёсткого диска успешно преобразился в LVM, чтобы его далее можно было спокойно использовать в наших целях. Однако, это пока что всего навсего болванка, которая только способна сказать, что, дескать, я LVM, но кому принадлежу — не знаю. Здесь нет даже файловой системы. Давайте сделаем с этим хоть что-то.
- Команда vgextend сделает это.
- Сначала узнаём название нашей volume group командой pvdisplay, показывающей на каком физическом харде находится та или иная группа томов
- Узнав имя группы томов, к которой мы будем присоединять наш новый пустой LVM раздел, пишем команду «vgextend имя_группы_томов /dev/sdX2«
- Теперь группа томов переползла и на нашу новую, расположенную на новом харде LVM область.
/dev/sda1: UUID="829790c4-7afd-4bf6-86f9-933dd5deb617" TYPE="ext2" PARTUUID="455 /dev/sda2: UUID="FCAC3P-O0aa-5HYn-sr4W-RFkV-hjUJ-akn0Xh" TYPE="LVM2_member" PART
tune2fs -U 829790c4-7afd-4bf6-86f9-933dd5deb617 /dev/sdX1
mkdir /mnt/1 mount /dev/sdX1 /mnt/1/ cp -aT /boot/ /mnt/1/
vgreduce web /dev/sdb5 (старый том на старом диске) vgreduce web /dev/sda1 (ещё старый том на старом диске) vgreduce web /dev/sdc1 (и т.д.)
- Командой lvdisplay смотрим какие тома сколько места занимают
- Допустим, что нам нужно увеличить рутовый раздел на 50 Гб. Для этого пишем «lvextend -L +50G /dev/vg-name/lv-name«, где -L — задаёт размер тома на необходимое количество байт, +50G — прибавляет к тому 50 Гигабайт (если писать без плюса, то это будет указание сделать раздел именно такого размера, буква G — как определитель, что это будет гигабайт, а не мегабайт, гибибайт или что-то другое), /dev/vg-name/lv-name — пути к увеличиваемому тому, это можно увидеть в выводе команды lvdisplay.
- Теперь, когда рутовый раздел у нас вырос, нужно увеличить размер файловой системы на нём. Файловая система сама не растянется за увеличившимся томом. Вводим resize2fs /dev/vg-name/lv-name (или можно просто в команде выше приписать ключ -r, это автоматически увеличит и файловую систему)
- Обычно файловая система ext4, меняет свой размер без размонтирования.
- Здесь в общем-то всё просто. Если нужно занять новым разделом всё свободное место, то используйте команду lvcreate -l +100%FREE vg-name -n new-lv-name, где -l 100%FREE указание на создание тома на всём свободном пространстве. (маленькая l, кстати, используется для указания размера в экстентах, в отличие от большой L), vg-name — имя группы томов, на которых будет создан новый том, -n — ключ, указывающий имя нового тома new-lv-name
- Например, создадим новый раздел для /srv
- lvcreate -l100%FREE web -n lv-srv
- Остановим процесс, работающий с этой папкой service apache2 stop
- Переименуем папку /srv в /srv-old и создадим папку /srv mv /srv /srv-old && mkdir /srv
- Примонтируем новый созданный раздел к /srv «/mount /dev/web/lv-srv /srv/«
- Скопируем файлы из старого местоположения в новоеcp -aTv /srv-old/ /srv/
- Запишем в /etc/fstab данные для монтирования нового раздела
- /dev/web/lv-srv /srv defaults 0 0