История изменений
Исправление Vsevolod-linuxoid, (текущая версия) :
Так… ну давай небольшую демонстрацию того, что такое разделы в Linux, ФС на них и как монтирование и прочее работает…
Для начала, создадим пару тестовых LV для демонстрации:
root@hp15:~# lvcreate -L128m vg0 -n test0
Logical volume "test0" created.
root@hp15:~# lvcreate -L256m vg0 -n test1
Logical volume "test1" created.
root@hp15:~#
Если посмотреть вывод lsblk
, он покажет нам их:
root@hp15:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 2G 0 part
├─sda2 8:2 0 2G 0 part /boot
├─sda3 8:3 0 2G 0 part
└─sda4 8:4 0 459,8G 0 part
├─vg0-lv_al9swap 254:0 0 2G 0 lvm
├─vg0-lv_al9root 254:1 0 24G 0 lvm
├─vg0-lv_al9home 254:2 0 8G 0 lvm
├─vg0-lv_al9virt0 254:3 0 64G 0 lvm
├─vg0-lv_deb11swap 254:4 0 2G 0 lvm [SWAP]
├─vg0-lv_deb11root 254:5 0 160G 0 lvm /
├─vg0-lv_ubuntu2004swap 254:6 0 2G 0 lvm
├─vg0-lv_ubuntu2004root 254:7 0 32G 0 lvm
├─vg0-test0 254:8 0 128M 0 lvm
└─vg0-test1 254:9 0 256M 0 lvm
sr0 11:0 1 1024M 0 rom
То есть у меня на разделе /dev/sda4
есть VG с именем vg0
, что содержит, помимо всего прочего, эти LV. Как нетрудно заметить, они сейчас никуда не примонтированы.
Попробуем их примонтировать:
root@hp15:~# mount /dev/mapper/vg0-test0 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/vg0-test0, missing codepage or helper program, or other error.
root@hp15:~# mount /dev/mapper/vg0-test1 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/vg0-test1, missing codepage or helper program, or other error.
root@hp15:~#
Это не сработало — само собой, ведь у нас нет сейчас ФС на них. Создадим ФС на обоих LV:
root@hp15:~# mkfs.ext4 /dev/mapper/vg0-test0
mke2fs 1.46.2 (28-Feb-2021)
Discarding device blocks: done
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: 26e7f2ab-14d4-4b6f-9cfb-9ed67f44cf4e
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
root@hp15:~# mkfs.xfs /dev/mapper/vg0-test1
meta-data=/dev/mapper/vg0-test1 isize=512 agcount=4, agsize=16384 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0
data = bsize=4096 blocks=65536, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1368, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
root@hp15:~#
Теперь попробуем примонтировать оба — но сменим точку монтирования, при этом создадим новую:
root@hp15:~# mkdir /tmp/test/
root@hp15:~# mkdir /tmp/test/0
root@hp15:~# mkdir /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/0
root@hp15:~# mount /dev/mapper/vg0-test1 /tmp/test/1
root@hp15:/# df -hT
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
udev devtmpfs 7,8G 0 7,8G 0% /dev
tmpfs tmpfs 1,6G 1,5M 1,6G 1% /run
/dev/mapper/vg0-lv_deb11root ext4 157G 120G 31G 80% /
tmpfs tmpfs 7,8G 13M 7,8G 1% /dev/shm
tmpfs tmpfs 5,0M 4,0K 5,0M 1% /run/lock
/dev/sda2 ext4 2,0G 117M 1,7G 7% /boot
tmpfs tmpfs 1,6G 104K 1,6G 1% /run/user/1000
/dev/mapper/vg0-test0 ext4 119M 14K 110M 1% /tmp/test/0
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/1
Что мы только что сделали? Мы примонтировали LV test0
в директорию /tmp/test/0
, а test1
в директорию /tmp/test/1
Теперь давай создадим на каждой по файлу и директории:
root@hp15:~# touch /tmp/test/0/file0
root@hp15:~# touch /tmp/test/1/file1
root@hp15:~# mkdir /tmp/test/0/dir0
root@hp15:~# mkdir /tmp/test/1/dir1
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 1
drwxr-xr-x 4 root root 1024 сен 8 13:23 0
drwxr-xr-x 3 root root 31 сен 8 13:23 1
/tmp/test/0:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/0/dir0:
итого 0
/tmp/test/0/lost+found:
итого 0
/tmp/test/1:
итого 0
drwxr-xr-x 2 root root 6 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/1/dir1:
итого 0
root@hp15:~#
Как мы видим, у нас есть файл file0
и директория dir0
в /tmp/test/0/
, и файл file1
и директория dir1
в /tmp/test/1/
Ну а теперь посмотрим, что будет, если взять и поменять точки монтирования местами:
root@hp15:~# umount /tmp/test/0
root@hp15:~# umount /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test1 /tmp/test/0
root@hp15:~# df -hT | grep test
/dev/mapper/vg0-test0 ext4 119M 15K 110M 1% /tmp/test/1
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/0
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 1
drwxr-xr-x 3 root root 31 сен 8 13:23 0
drwxr-xr-x 4 root root 1024 сен 8 13:23 1
/tmp/test/0:
итого 0
drwxr-xr-x 2 root root 6 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/0/dir1:
итого 0
/tmp/test/1:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/1/dir0:
итого 0
/tmp/test/1/lost+found:
итого 0
Как видно, теперь файл file0
и директория dir0
в /tmp/test/1/
, а файл file1
и директория dir1
в /tmp/test/0/
Ну а теперь давай возьмем и примонтируем один из наших LV в директорию на другом, да, это вполне возможно:
root@hp15:~# umount /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/0/dir1/
root@hp15:~# df -hT | grep test
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/0
/dev/mapper/vg0-test0 ext4 119M 15K 110M 1% /tmp/test/0/dir1
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 4
drwxr-xr-x 3 root root 31 сен 8 13:23 0
drwxr-xr-x 2 root root 4096 сен 8 13:16 1
/tmp/test/0:
итого 1
drwxr-xr-x 4 root root 1024 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/0/dir1:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/0/dir1/dir0:
итого 0
/tmp/test/0/dir1/lost+found:
итого 0
/tmp/test/1:
итого 0
И вот теперь файл file0
и директория dir0
находятся внутри /tmp/test/0/dir1
Ну что, стало хотя бы немного понятнее?
Исходная версия Vsevolod-linuxoid, :
Так… ну давай небольшую демонстрацию того, что такое разделы в Linux, ФС на них и как монтирование и прочее работает…
Для начала, создадим пару тестовых LV для демонстрации:
root@hp15:~# lvcreate -L128m vg0 -n test0
Logical volume "test0" created.
root@hp15:~# lvcreate -L256m vg0 -n test1
Logical volume "test1" created.
root@hp15:~#
Если посмотреть вывод lsblk
, он покажет нам их:
root@hp15:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 2G 0 part
├─sda2 8:2 0 2G 0 part /boot
├─sda3 8:3 0 2G 0 part
└─sda4 8:4 0 459,8G 0 part
├─vg0-lv_al9swap 254:0 0 2G 0 lvm
├─vg0-lv_al9root 254:1 0 24G 0 lvm
├─vg0-lv_al9home 254:2 0 8G 0 lvm
├─vg0-lv_al9virt0 254:3 0 64G 0 lvm
├─vg0-lv_deb11swap 254:4 0 2G 0 lvm [SWAP]
├─vg0-lv_deb11root 254:5 0 160G 0 lvm /
├─vg0-lv_ubuntu2004swap 254:6 0 2G 0 lvm
├─vg0-lv_ubuntu2004root 254:7 0 32G 0 lvm
├─vg0-test0 254:8 0 128M 0 lvm
└─vg0-test1 254:9 0 256M 0 lvm
sr0 11:0 1 1024M 0 rom
То есть у меня на разделе /dev/sda4 есть VG с именем vg0, что содержит, помимо всего прочего, эти LV. Как нетрудно заметить, они сейчас никуда не примонтированы.
Попробуем их примонтировать:
root@hp15:~# mount /dev/mapper/vg0-test0 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/vg0-test0, missing codepage or helper program, or other error.
root@hp15:~# mount /dev/mapper/vg0-test1 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/mapper/vg0-test1, missing codepage or helper program, or other error.
root@hp15:~#
Это не сработало — само собой, ведь у нас нет сейчас ФС на них. Создадим ФС на обоих LV:
root@hp15:~# mkfs.ext4 /dev/mapper/vg0-test0
mke2fs 1.46.2 (28-Feb-2021)
Discarding device blocks: done
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: 26e7f2ab-14d4-4b6f-9cfb-9ed67f44cf4e
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
root@hp15:~# mkfs.xfs /dev/mapper/vg0-test1
meta-data=/dev/mapper/vg0-test1 isize=512 agcount=4, agsize=16384 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0
data = bsize=4096 blocks=65536, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1368, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
root@hp15:~#
Теперь попробуем примонтировать оба — но сменим точку монтирования, при этом создадим новую:
root@hp15:~# mkdir /tmp/test/
root@hp15:~# mkdir /tmp/test/0
root@hp15:~# mkdir /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/0
root@hp15:~# mount /dev/mapper/vg0-test1 /tmp/test/1
root@hp15:/# df -hT
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
udev devtmpfs 7,8G 0 7,8G 0% /dev
tmpfs tmpfs 1,6G 1,5M 1,6G 1% /run
/dev/mapper/vg0-lv_deb11root ext4 157G 120G 31G 80% /
tmpfs tmpfs 7,8G 13M 7,8G 1% /dev/shm
tmpfs tmpfs 5,0M 4,0K 5,0M 1% /run/lock
/dev/sda2 ext4 2,0G 117M 1,7G 7% /boot
tmpfs tmpfs 1,6G 104K 1,6G 1% /run/user/1000
/dev/mapper/vg0-test0 ext4 119M 14K 110M 1% /tmp/test/0
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/1
Что мы только что сделали? Мы примонтировали LV test0 в директорию /tmp/test/0, а test1 в директорию /tmp/test/1
Теперь давай создадим на каждой по файлу и директории:
root@hp15:~# touch /tmp/test/0/file0
root@hp15:~# touch /tmp/test/1/file1
root@hp15:~# mkdir /tmp/test/0/dir0
root@hp15:~# mkdir /tmp/test/1/dir1
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 1
drwxr-xr-x 4 root root 1024 сен 8 13:23 0
drwxr-xr-x 3 root root 31 сен 8 13:23 1
/tmp/test/0:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/0/dir0:
итого 0
/tmp/test/0/lost+found:
итого 0
/tmp/test/1:
итого 0
drwxr-xr-x 2 root root 6 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/1/dir1:
итого 0
root@hp15:~#
Как мы видим, у нас есть файл file0 и директория dir0 в /tmp/test/0/, и файл file1 и директория dir1 в /tmp/test/1/
Ну а теперь посмотрим, что будет, если взять и поменять точки монтирования местами:
root@hp15:~# umount /tmp/test/0
root@hp15:~# umount /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test1 /tmp/test/0
root@hp15:~# df -hT | grep test
/dev/mapper/vg0-test0 ext4 119M 15K 110M 1% /tmp/test/1
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/0
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 1
drwxr-xr-x 3 root root 31 сен 8 13:23 0
drwxr-xr-x 4 root root 1024 сен 8 13:23 1
/tmp/test/0:
итого 0
drwxr-xr-x 2 root root 6 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/0/dir1:
итого 0
/tmp/test/1:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/1/dir0:
итого 0
/tmp/test/1/lost+found:
итого 0
Как видно, теперь файл file0 и директория dir0 в /tmp/test/1/, а файл file1 и директория dir1 в /tmp/test/0/
Ну а теперь давай возьмем и примонтируем один из наших LV в директорию на другом, да, это вполне возможно:
root@hp15:~# umount /tmp/test/1
root@hp15:~# mount /dev/mapper/vg0-test0 /tmp/test/0/dir1/
root@hp15:~# df -hT | grep test
/dev/mapper/vg0-test1 xfs 251M 15M 236M 6% /tmp/test/0
/dev/mapper/vg0-test0 ext4 119M 15K 110M 1% /tmp/test/0/dir1
root@hp15:~# ls -lR /tmp/test
/tmp/test:
итого 4
drwxr-xr-x 3 root root 31 сен 8 13:23 0
drwxr-xr-x 2 root root 4096 сен 8 13:16 1
/tmp/test/0:
итого 1
drwxr-xr-x 4 root root 1024 сен 8 13:23 dir1
-rw-r--r-- 1 root root 0 сен 8 13:23 file1
/tmp/test/0/dir1:
итого 13
drwxr-xr-x 2 root root 1024 сен 8 13:23 dir0
-rw-r--r-- 1 root root 0 сен 8 13:23 file0
drwx------ 2 root root 12288 сен 8 13:12 lost+found
/tmp/test/0/dir1/dir0:
итого 0
/tmp/test/0/dir1/lost+found:
итого 0
/tmp/test/1:
итого 0
И вот теперь файл file0 и директория dir0 находятся внутри /tmp/test/0/dir1
Ну что, стало хотя бы немного понятнее?