LinuxForum.Fans
Тема

Вопрос по работе LVM и resize2fs в Gentoo_amd64

Автор: AntiduPb 9 сообщений 4150 просмотров
14.09.2014 04:59 · отредактировано #392602

Приветствую всех :)
Решил я тут поковырять LVM, до этого как-то не сталкивался с ним (знал что это но сам не работал - небыло потребности). И решил как обычно начать с Gentoo и консоли. Собрал, поставил, работает. Далее решил попробовать поиграться с ресайзом разделов. Уменьшаем /home (он занимает 2.5 Терабайта):

text

# umount /home
# resize2fs /dev/vg00/home 100G
# lvresize -L100G /dev/vg00/home
# mount /home

и на home улетают все файлы с ФС
при этом если в команду "# resize2fs /dev/vg00/home 100G" добавить параметр -f (force тобиш) ФС ресайзится и все нормально, но в манах в инете нигде этот параметр не упоминается.
[console]# man resize2fs
***
-f Forces resize2fs to proceed with the filesystem resize operation, overriding some safety checks
which resize2fs normally enforces.
***
[/console]
Дословно:
Насильно выполняет операцию ресайза файловой системы, и перезапустить некоторые проверки проверики которые обычно выполняются.
Я правильно перевел/понял?
Но во всех манах она работает без этого параметра.
Вопрос: где я накосячил?

Заранее спасибо :)

14.09.2014 08:17 · отредактировано #392607
"AntiduPb" написал:
Вопрос: где я накосячил?
"AntiduPb" написал:
Увеличиваем /home
"AntiduPb" написал:

[console]
# resize2fs /dev/vg00/home 100G
# lvresize -L100G /dev/vg00/home
[/console]

А вас не смущает тот факт, что вы в начале вводите команду для увепличения содержимого контейнера, т.е. файловой системы, а затем увеличиваете сам контейнер, т.е. LVM том. Либо вы ошиблись при создании темы на форуме, либо это вообще всё странно.

14.09.2014 13:59 #392613
kostik87 написал:
[quote="AntiduPb"]Вопрос: где я накосячил?
"AntiduPb" написал:
Увеличиваем /home
"AntiduPb" написал:

[console]
# resize2fs /dev/vg00/home 100G
# lvresize -L100G /dev/vg00/home
[/console]

А вас не смущает тот факт, что вы в начале вводите команду для увепличения содержимого контейнера, т.е. файловой системы, а затем увеличиваете сам контейнер, т.е. LVM том. Либо вы ошиблись при создании темы на форуме, либо это вообще всё странно.[/quote]
Тьфу блин перепутал, ПРОШУ ПРОЩЕНИЯ! Раздел был 2.5 Терабайт и уменьшаем до 100 Гигов.
Поправил.
Я знаю что если нужно увеличить, то сначала увеличиваем размер тома а потом размер ФС, а если уменьшить то наоборот сначала размер ФС уменьшаем а потом размер тома.

14.09.2014 14:10 · отредактировано #392614
"AntiduPb" написал:
Терабайт и уменьшаем до 100 Гигов.

В таком случае проблема в том, что файловая система размером в 100Gb не "влезает" в 100Gb дисковое пространство, нужно было, к примеру уменьшить её до 90Gb, затем уменьшить логический том до 100Gb и затем расширить файловую систему на весь размер логического тома, т.е.:

text

# umount /home
# resize2fs /dev/vg00/home 90G
# lvresize -L100G /dev/vg00/home
# resize2fs /dev/vg00/home
# mount /home
14.09.2014 14:51 #392619
"kostik87" написал:
В таком случае проблема в том, что файловая система размером в 100Gb не "влезает" в 100Gb дисковое пространство, нужно было, к примеру уменьшить её до 90Gb, затем уменьшить логический том до 100Gb и затем расширить файловую систему на весь размер логического тома

Не работает. Даже если файловую систему сделать 50Гб а том 100Гб. Собственно проблема в том что resize2fs без параметра -f даже не пытатеся менять размер ФС. :(

14.09.2014 15:04 #392621
"AntiduPb" написал:
Не работает. Даже если файловую систему сделать 50Гб а том 100Гб. Собственно проблема в том что resize2fs без параметра -f даже не пытатеся менять размер ФС.
Показать

[console]
--- Logical volume ---
LV Path /dev/vg0/lv_test
LV Name lv_test
VG Name vg0
LV UUID tSoXvE-f5Az-yy02-NTyy-dmwC-mS04-ka3O8S
LV Write Access read/write
LV Creation host, time gentoo, 2014-09-14 14:56:10 +0400
LV Status available
# open 0
LV Size 10,00 GiB
Current LE 2621440
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:13
#
# mkfs.ext4 /dev/vg0/lv_test
mke2fs 1.42.10 (18-May-2014)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: 5b237186-307b-42fe-8521-4300b6087edb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
#
# mkdir /tmp/lv_test
# mount /dev/vg0/lv_test /tmp/lv_test/
# df -h /tmp/lv_test/
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/vg0-lv_test 9,8G 23M 9,2G 1% /tmp/lv_test
#
# e2fsck -f /dev/vg0/lv_test
e2fsck 1.42.10 (18-May-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv_test: 11/655360 files (0.0% non-contiguous), 79663/2621440 blocks
#
# resize2fs /dev/vg0/lv_test 5G
resize2fs 1.42.10 (18-May-2014)
Resizing the filesystem on /dev/vg0/lv_test to 1310720 (4k) blocks.
The filesystem on /dev/vg0/lv_test is now 1310720 blocks long.
#
# mount /dev/vg0/lv_test /tmp/lv_test/
# df -h /tmp/lv_test/
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/vg0-lv_test 4,8G 20M 4,6G 1% /tmp/lv_test


# lvreduce -L -4G /dev/vg0/lv_test
WARNING: Reducing active logical volume to 6,00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_test? [y/n]: y
Size of logical volume vg0/lv_test changed from 10,00 GiB (2621440 extents) to 6,00 GiB (1572864 extents).
Logical volume lv_test successfully resized

# e2fsck -f /dev/vg0/lv_test
e2fsck 1.42.10 (18-May-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv_test: 11/327680 files (0.0% non-contiguous), 58462/1310720 blocks
#
# resize2fs /dev/vg0/lv_test
resize2fs 1.42.10 (18-May-2014)
Resizing the filesystem on /dev/vg0/lv_test to 1572864 (4k) blocks.
The filesystem on /dev/vg0/lv_test is now 1572864 blocks long.
#
# mount /dev/vg0/lv_test /tmp/lv_test/
# df -h /tmp/lv_test/
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/vg0-lv_test 5,8G 20M 5,5G 1% /tmp/lv_test
[/console]
14.09.2014 15:49 #392622
Показать
[console]--- Logical volume ---
LV Path /dev/vg00sda2/name_home
LV Name name_home
VG Name vg00sda2
LV UUID 7LEKSJ-SMwi-3LrZ-vijW-Q8e0-MaV6-5RdTE2
LV Write Access read/write
LV Creation host, time livecd, 2014-09-07 01:04:46 +0400
LV Status available
# open 1
LV Size 100.00 GiB
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3

T1000 ~ # df -h /home/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00sda2-name_home 99G 60M 94G 1% /home
T1000 ~ # umount /home/
T1000 ~ # e2fsck -f /dev/vg00sda2/name_home
e2fsck 1.42.10 (18-May-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg00sda2/name_home: 12/6553600 files (0.0% non-contiguous), 459350/26214400 blocks
T1000 ~ # resize2fs /dev/vg00sda2/name_home 10G
resize2fs 1.42.10 (18-May-2014)
Resizing the filesystem on /dev/vg00sda2/name_home to 2621440 (4k) blocks.
The filesystem on /dev/vg00sda2/name_home is now 2621440 blocks long.

T1000 ~ # mount /home/
T1000 ~ # df -h /home/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00sda2-name_home 9.8G 36M 9.2G 1% /home
T1000 ~ # umount /home/
T1000 ~ # lvreduce -L -88G /dev/vg00sda2/name_home
WARNING: Reducing active logical volume to 12.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce name_home? [y/n]: y
Size of logical volume vg00sda2/name_home changed from 100.00 GiB to 12.00 GiB.
Logical volume name_home successfully resized
T1000 ~ # e2fsck -f /dev/vg00sda2/name_home
e2fsck 1.42.10 (18-May-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg00sda2/name_home: 12/655360 files (0.0% non-contiguous), 83120/2621440 blocks
T1000 ~ # resize2fs /dev/vg00sda2/name_home
resize2fs 1.42.10 (18-May-2014)
Resizing the filesystem on /dev/vg00sda2/name_home to 3145728 (4k) blocks.
The filesystem on /dev/vg00sda2/name_home is now 3145728 blocks long.

T1000 ~ # mount /home/
T1000 ~ # df -h /home/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00sda2-name_home 12G 40M 12G 1% /home
[/console]

Вот я мешок :D e2fsck перед изменение размера ФС кто делать будет?
А параметр -f запускает e2fsck автоматом перед ресайзом.
[console]# resize2fs /dev/vg00sda2/name_home 10G
Please run 'e2fsck -f /dev/vg00sda2/name_home' first.[/console]
Я 'first' почему-то перевел как 'после' перепутав с 'after'.
Всё разобрался.
kostik87 Спасибо огромное! :)

28.09.2014 00:31 #394039

для будущих поколений, ещё можно обратить внимание на ключик -r lvresize...

Войдите или зарегистрируйтесь, чтобы ответить.