Device mapper

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Device mapper

Непрочитанное сообщение Olej » 31 мар 2023, 20:19

Olej писал(а):
31 мар 2023, 20:17
Теперь на этих 2-х разделах расфрматируем 2 разных файловых системы
Теперь можем примонтировать файловые системы:

Код: Выделить всё

root@R420:/mnt/sdc2# mkdir /mnt/d1

root@R420:/mnt/sdc2# mkdir /mnt/d2

Код: Выделить всё

root@R420:/mnt/sdc2# mount -t ext2 /dev/dm-0 /mnt/d1

Код: Выделить всё

root@R420:/mnt/sdc2# mount -t vfat /dev/dm-1 /mnt/d2

Код: Выделить всё

root@R420:/mnt/sdc2# df /mnt/d1
Файл.система        1K-блоков Использовано Доступно Использовано% Cмонтировано в
/dev/mapper/loop0p1    191872           24   181608            1% /mnt/d1

Код: Выделить всё

root@R420:/mnt/sdc2# df /mnt/d2
Файл.система        1K-блоков Использовано Доступно Использовано% Cмонтировано в
/dev/mapper/loop0p2    204612            0   204612            0% /mnt/d2

Код: Выделить всё

olej@R420:/mnt/sdc2$ mount | grep /mnt/d
/dev/mapper/loop0p1 on /mnt/d1 type ext2 (rw,relatime)
/dev/mapper/loop0p2 on /mnt/d2 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Код: Выделить всё

olej@R420:/mnt/sdc2$ ls -la /mnt/d1
итого 24
drwxr-xr-x 3 root root  4096 мар 31 19:08 .
drwxr-xr-x 8 root root  4096 мар 31 18:40 ..
drwx------ 2 root root 16384 мар 31 19:08 lost+found

Код: Выделить всё

olej@R420:/mnt/sdc2$ ls -la /mnt/d2
итого 20
drwxr-xr-x 2 root root 16384 янв  1  1970 .
drwxr-xr-x 8 root root  4096 мар 31 18:40 ..

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Device mapper

Непрочитанное сообщение Olej » 31 мар 2023, 20:25

Olej писал(а):
31 мар 2023, 20:19
примонтировать файловые системы
И выполнять на них любые файловые операции - создаём файлы, пишем, читаем... :

Код: Выделить всё

root@R420:/mnt/sdc2# chmod a+w /mnt/d1

root@R420:/mnt/sdc2# chmod a+w /mnt/d2

Код: Выделить всё

olej@R420:/mnt$ cd /mnt/d1

olej@R420:/mnt/d1$ echo 12345 > 12345

olej@R420:/mnt/d1$ ls -l
итого 20
-rw-rw-r-- 1 olej olej     6 мар 31 19:21 12345
drwx------ 2 root root 16384 мар 31 19:08 lost+found

olej@R420:/mnt/d1$ cat 12345
12345

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Device mapper

Непрочитанное сообщение Olej » 31 мар 2023, 20:29

Olej писал(а):
31 мар 2023, 20:25
любые файловые операции
И как со всякими блочными устройствами - размонтирование...
Было до:

Код: Выделить всё

olej@R420:/mnt/d2$ losetup -a
/dev/loop0: []: (/mnt/sdc2/vdisk)

olej@R420:/mnt/d2$ ls -l /dev/dm-*
brw-rw---- 1 root disk 253, 0 мар 31 19:08 /dev/dm-0
brw-rw---- 1 root disk 253, 1 мар 31 19:10 /dev/dm-1

olej@R420:/mnt/d2$ ls -l /dev/mapper
итого 0
crw------- 1 root root 10, 236 мар 31 11:03 control
lrwxrwxrwx 1 root root       7 мар 31 19:08 loop0p1 -> ../dm-0
lrwxrwxrwx 1 root root       7 мар 31 19:10 loop0p2 -> ../dm-1

Код: Выделить всё

olej@R420:/mnt/d2$ mount | grep /mnt/d
/dev/mapper/loop0p1 on /mnt/d1 type ext2 (rw,relatime)
/dev/mapper/loop0p2 on /mnt/d2 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
Размонтируем:

Код: Выделить всё

root@R420:/mnt/sdc2# umount /dev/dm-0

Код: Выделить всё

root@R420:/mnt/sdc2# umount -f /dev/dm-1

Код: Выделить всё

olej@R420:/mnt$ mount | grep /mnt/d
olej@R420:/mnt$
И (только после того как все разделы размонтированы):

Код: Выделить всё

root@R420:/mnt/sdc2# kpartx -d -vvv vdisk
del devmap : loop0p1
del devmap : loop0p2
loop deleted : /dev/loop0
Стало:

Код: Выделить всё

olej@R420:/mnt$ ls -l /dev/dm-*
ls: невозможно получить доступ к '/dev/dm-*': Нет такого файла или каталога

olej@R420:/mnt$ ls -l /dev/mapper
итого 0
crw------- 1 root root 10, 236 мар 31 11:03 control

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Device mapper

Непрочитанное сообщение Olej » 01 апр 2023, 12:36

Olej писал(а):
30 мар 2023, 13:11
Всё то же самое, в разных вариациях, можно делать и с dm (device mapper), на котором построен kpartx.
Это не совсем точно, точнее: kpartx построен на dm, dm - это достаточно низкоуровневый механизм, появившийся давно - с ядра 2.6, и именно на нём основаны многие "логические" дисковые отображения (менеджеры логических томов), такие как LVM2, dmraid ...
Работать с ним довольно сложно, а описан он в публикациях скудно.

Вот несколько из более-менее внятных описаний:
Механизм Device Mapper в ядре Linux - это описание того как работает dm, оно достаточно сложное и оперирует терминологией ядра LInux;
Использование Linux device-mapper
Device-mapper - это описание из Gentoo ... как всегда: достаточно подробное и достаточно путаннное;

Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей