Дисковые и сетевые файловые системы Linux

Разные файловые системы fs, как упоминалось ранее, предназначены для хранения информации на внешних носителях и преследуют различные цели, например, обеспечивают надежное хранение при помощи журнала транзакций или быстрый поиск метаданных файла (среди множества каталогов, подкаталогов и других файлов) по его имени, либо учитывают специфику свойств самого носителя и т. д.

Дисковые и сетевые файловые системы Linux

Дисковые файловые системы

В большинстве случаев до сих пор носителями информации являются магнитные или оптические диски, благодаря чему файловые системы, размещаемые на них, зачастую называются «дисковыми» файловыми системами, даже если используются на твердотельных (flash) носителях.

Для магнитных дисков, характеризующихся возможностью чтения и записи блоков информации в произвольное место носителя (random access), в Linux на текущий момент времени используются «родные» файловые системы

  • W:[Ext2],
  • W:[Ext3] и
  • W:[Ext4],
  • специально разработанные W:[ReiserFS] и W:[Reiser4],
  • а также заимствованные W:[XFS] и W:[JFS],

Для оптических CD/DVD-дисков, имеющих специфику записи в виде спиральной к дорожки, применяются файловые системы W:[ISO 9660] и W:[udf].

Для USB-flash-накопителей в большинстве случаев используются заимствованные файловые системы W:[FAT] и W:[NTFS] в силу применения этих накопителей как мобильных средств переноса данных между разными компьютерами с различными операционными системами.

Сетевые файловые системы

Сетевые файловые системы, равно как и дисковые, обеспечивают хранение информации на внешнем носителе, которым в их случае — выступает файловый сервер (например, домашний NAS, Network Attached Storage), доступный по протоколу NFS (Network File System, W: [Network File System]), CIFS/SMB (Common Internet Fite System или Server Message Block, W: [Server_Message_Block]) или им подобным.

Одноименные файловые системы nfs и cifs/smb используются для монтирования файлов сервера в дерево каталогов клиента.

Таким образом, обычные (ничего не знающие ни про какие сетевые протоколы) программы, запускаемые в операционной системе клиента, используют файлы сетевого сервера точно так, как если бы они были размещены на локальных дисках, под управлением дисковых файловых систем.

В примере из листинга ниже программы avconv и avprobe, предназначенные для работы с «обычными» видеофайлами, используются для обработки записей сетевого видеорегистратора, видеофайлы которого доступны по протоколу NFS.

Смонтированные при помощи сетевой файловой системы nfs в дерево каталогов файлы сетевого регистратора становятся никак неотличимы от файлов локальных дисковых файловых систем.

Сетевая файловая система NFS

john@ubuntu:~$ mount -t nfs 182.168.1.10:/share/video /mnt/nas/video

john@ubuntu:~$ mount

. . .                                . . .                                 . . .

182.168.1.10:/share/video on /mnt/nas/video type nfs (rw)

. . .                                . . .                                 . . .

john@ubuntu:~$ cd /mnt/nas/video/screencasts

john@ubuntu:~$ ls

. . .                                . . .                                 . . .

20170521142626.mp4

. . .                                . . .                                 . . .

john@ubuntu:~$ file 20170521142626.mp4

20170521142626.mp4: ISO Media, MPEG v4 system, version 2

john@ubuntu:~$ avprobe 20140523142626.mp4

. . .                                . . .                                 . . .

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘20170521142626.mp4’:

. . .                                . . .                                 . . .

Duration: 00:00:06.94, start: 0.000000, bitrate: 11020 kb/s ,

Stream #0.0(eng): Video: h264 (High), yuv420p, 1920×1080 [PAR 1:1 DAR 16:9], 10843 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc

. . .                                . . .                                 . . .

john@ubuntu:~$ avconv -i 20170521142626. mp4 20170521142626.mkv

Output #0, matroska, to ‘20170521142626.mkv’:

. . .                                . . .                                 . . .

Stream #0.0(eng): Video: mpeg4, yuv420p, 1920×1080 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 1k tbn, 50 tbc

. . .                                . . .                                 . . .

Stream mapping:

Stream #0:0 -> #0:0 (H264 -> mpeg4)

Stream #0:1 -> #0:1 (aac -> libvorbis)

Press ctrl-c to stop encoding

frame= 395 fps= 72 q=31.0 Lsize=          2481kB time=7.94 bitrate=2561.5kbits/s dup=0 drop=l                      video:2339kB audio: 128kB global headers:4kB muxing overhead 0.457686%

Аналогично, в примере из листинга ниже геотеги файлов изображений сетевого видеорегистратора анализируются утилитой exiv2, предназначенной для работы с «обычными» изображениями.

За счет файловой системы cifs и доступности видеорегистратора по протоколу CIFS его содержимое смонтировано в дерево каталогов так, словно сетевой регистратор является локальным дисковым накопителем.

Сетевая файловая система CIFS/SMB

john@ubuntu:~$ mount -t cifs -o username=guest //182.168.1.10/share/photos /mnt/nas/photos Password:

john@ubuntu:~$ mount

. . .                            . . .                                     . . .
//182.168.1.10/share/photos on  /mnt/nas/video type cifs (rw)

. . .                            . . .                                     . . .
john@ubuntu:~$ cd /mnt/nas/photos

john@ubuntu:~$ ls
DSC_0034.JPG    DSC_0043.JPG   DSC_0062.JPG   DSC_0074.JPG   DSC_0100.JPG   DSC_0189.JPG

. . .                            . . .                                     . . .

john@ubuntu:~$ exiv2 -p a DSC_0043.JPG
Exlf.GPSInfo.GPSLatltudeRef                                            Ascii                    2  North
Exif.GPSInfo.GPSLatitude                                                  Rational              3  60deg 10′ 3.479″
Exif.GPSInfo.GPSLongitudeRef                                        Ascii:                    2  East
Exif.GPSInfo.GPSLongitude                                              Rational               3  24deg 57′ 23.294″

. . .                            . . .                                     . . .

 

Добавить комментарий