<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Файловая система ext4]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=11490</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=11490&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Файловая система ext4».]]></description>
		<lastBuildDate>Wed, 02 Mar 2011 11:29:14 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Файловая система ext4]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=151653#p151653</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Large file system<br />&nbsp; &nbsp; The ext4 filesystem can support volumes with sizes up to 1 exabyte and files with sizes up to 16 terabytes.[9] The current e2fsprogs can only handle a filesystem of 16 TB,[10] but support for larger drives is under development.</p></blockquote></div><p>большая файловая система. ну что тут ещё добавить?</p><div class="quotebox"><blockquote><p>Extents<br />&nbsp; &nbsp; Extents replace the traditional block mapping scheme used by ext2/3 filesystems. An extent is a range of contiguous physical blocks, improving large file performance and reducing fragmentation. A single extent in ext4 can map up to 128 MB of contiguous space with a 4 KB block size.[1] There can be 4 extents stored in the inode. When there are more than 4 extents to a file, the rest of the extents are indexed in an Htree.</p></blockquote></div><p>экстенты. <br />это действительно новое слово в EXT (хотя вообще-то, даже в NTFS реализовано что-то подобное). суть в том, что файлу выделяется кусок до 128Мб, где он может подрастать. Конечно, этот кусок может быть и обрезан, что приводило в NTFS не к уменьшению фрагментации, а к её резкому увеличению. Сегодня естественно этот факт известен разработчикам, и потому такого в EXT4 не будет.</p><div class="quotebox"><blockquote><p>Backward compatibility<br />&nbsp; &nbsp; The ext4 filesystem is backward compatible with ext3 and ext2, making it possible to mount ext3 and ext2 filesystems as ext4. This will slightly improve performance, because certain new features of ext4 can also be used with ext3 and ext2, such as the new block allocation algorithm.</p></blockquote></div><div class="quotebox"><blockquote><p>The ext3 file system is partially forward compatible with ext4, that is, an ext4 filesystem can be mounted as an ext3 partition (using &quot;ext3&quot; as the filesystem type when mounting). However, if the ext4 partition uses extents (a major new feature of ext4), then the ability to mount the file system as ext3 is lost.</p></blockquote></div><p>обратная совместимость в обе стороны.<br />Это позволяет монтировать драйверу EXT4 старые EXT2 и 3, что не приводит к снижению производительности, даже наоборот - новые алгоритмы размещения блоков ускоряют работу даже с отключёнными фичами. Ну и + в том, что не надо ещё одного драйвера, тройку можно просто выкинуть.</p><p>Однако, нельзя монтировать EXT4 старым драйвером, если используются экстенты (а они используются).</p><div class="quotebox"><blockquote><p>Persistent pre-allocation<br />&nbsp; &nbsp; The ext4 filesystem allows for pre-allocation of on-disk space for a file. The current method for this on most file systems is to write the file full of 0s to reserve the space when the file is created. This method is no longer required for ext4; instead, a new fallocate() system call was added to the Linux kernel for use by filesystems, including ext4 and XFS, that have this capability. The space allocated for files such as these would be guaranteed and would likely be contiguous. This has applications for media streaming and databases.</p></blockquote></div><p>предварительное распределение.<br />теперь не нужно создавать большой файл с нулями, если мы хотим создать (почти) непрерывный файл. это значительно ускорит обработку современной мультимедии.</p><div class="quotebox"><blockquote><p>Delayed allocation<br />&nbsp; &nbsp; Ext4 uses a filesystem performance technique called allocate-on-flush, also known as delayed allocation. It consists of delaying block allocation until the data is going to be written to the disk, unlike some other file systems, which may allocate the necessary blocks before that step. This improves performance and reduces fragmentation by improving block allocation decisions based on the actual file size.</p></blockquote></div><p>отложенное выделение.<br />вместо того, что-бы сразу писать файл в нужное место, система пишет его куда-то не туда <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> А то непонятно обычно, нужно-ли вообще писать файл, а если нужно, то в каких количествах.</p><div class="quotebox"><blockquote><p>Break 32,000 subdirectory limit<br />&nbsp; &nbsp; In ext3 the number of subdirectories that a directory can contain is limited to 32,000. This limit has been raised to 64,000 in ext4, and with the &quot;dir_nlink&quot; feature it can go beyond this (although it will stop increasing the link count on the parent). To allow for continued performance given the possibility of much larger directories, Htree indexes (a specialized version of a B-tree) are turned on by default in ext4. This feature is implemented in Linux kernel 2.6.23. Htree is also available in ext3 when the dir_index feature is enabled.</p></blockquote></div><p>Теперь нет ограничения 32000 подкаталогов в одном каталоге.</p><div class="quotebox"><blockquote><p>Journal checksumming<br />&nbsp; &nbsp; Ext4 uses checksums in the journal to improve reliability, since the journal is one of the most used files of the disk. This feature has a side benefit; it can safely avoid a disk I/O wait during the journaling process, improving performance slightly. The technique of journal checksumming was inspired by a research paper from the University of Wisconsin titled IRON File Systems (specifically, section 6, called &quot;transaction checksums&quot;) with modifications within the implementation of compound transactions performed by the IRON file system (originally proposed by Sam Naghshineh in the RedHat summit).[11]</p></blockquote></div><p>контрольные суммы в журнале.<br />придумали очередную НЕХ на мою голову... суть в том, что теперь новый алгоритм в журналирование, и теперь оно более надёжное. ИМХО есть куда расти - ЕМНИП теоретически доказана невозможность восстановления в общем случае...</p><div class="quotebox"><blockquote><p>fsck time/Inode Count(ext3 vs. ext4)</p><p>Faster file system checking<br />&nbsp; &nbsp; In ext4, unallocated block groups and sections of the inode table are marked as such. This enables e2fsck to skip them entirely on a check and greatly reduces the time it takes to check a file system of the size ext4 is built to support. This feature is implemented in version 2.6.24 of the Linux kernel.</p></blockquote></div><p>Четвёрка намного быстрее себя проверяет. Время проверки тройки после сбоя часто достигало нескольких часов, за что её ругали одмины. Исправлено. Суть метода в том, что ФС помечает свободное место, что часто позволяет его обходить при проверке.</p><div class="quotebox"><blockquote><p>Multiblock allocator<br />&nbsp; &nbsp; When a file is being appended to, ext3 calls the block allocator once for each block individually; with multiple concurrent writers, files can easily become fragmented on disk. With delayed allocation, however, ext4 buffers up a larger amount of data, and then allocates a group of blocks in a batch. This means that the allocator has more information about what&#039;s being written and can make better choices for allocating files contiguously on disk. The multiblock allocator is used when delayed allocation is enabled for a file system, or when files are opened in O_DIRECT mode. This feature does not affect the disk format.</p></blockquote></div><p>мультиблочное выделение.<br />в тройке место выделялось отдельно для каждого файла, четвёртка выделяет отдельно, потому, если писать сразу два файла они не перемешиваются как раньше (правда и раньше перемешивались только большие файлы, и то очень редко). такое есть в NTFS, но работает через одно место.</p><div class="quotebox"><blockquote><p>Improved timestamps<br />&nbsp; &nbsp; As computers become faster in general and as Linux becomes used more for mission critical applications, the granularity of second-based timestamps becomes insufficient. To solve this, ext4 provides timestamps measured in nanoseconds. In addition, 2 bits of the expanded timestamp field are added to the most significant bits of the seconds field of the timestamps to defer the year 2038 problem for an additional 204 years.</p></blockquote></div><p>более точные временные штампы. компьютеры стали быстрее, и одних секунд недостаточно. кроме того, это отодвинуло проблему 2038года ещё на 204 года.</p><p> </p><div class="quotebox"><blockquote><p>Ext4 also adds support for date-created timestamps. But, as Theodore Ts&#039;o points out, while it is easy to add an extra creation-date field in the inode (thus technically enabling support for date-created timestamps in ext4), it is more difficult to modify or add the necessary system calls, like stat() (which would probably require a new version), and the various libraries that depend on them (like glibc). These changes would require coordination of many projects. So, even if ext4 developers implement initial support for creation-date timestamps, this feature will not be available to user programs for now.[12]</p></blockquote></div><p>кроме того, наконец-то добавили день рождения файла (многие удивятся, но до сих пор этого не было!). правда это всё недоступно - надо сначала поменять glibc, а потом пользовательские программы...</p><p><a href="http://en.wikipedia.org/wiki/Ext4">souce(eng)</a></p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Wed, 02 Mar 2011 11:29:14 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=151653#p151653</guid>
		</item>
		<item>
			<title><![CDATA[Re: Файловая система ext4]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=151623#p151623</link>
			<description><![CDATA[<p><a href="http://habrahabr.ru/blogs/linux/58183/">http://habrahabr.ru/blogs/linux/58183/</a></p>]]></description>
			<author><![CDATA[null@example.com (anonymousRU)]]></author>
			<pubDate>Wed, 02 Mar 2011 10:23:57 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=151623#p151623</guid>
		</item>
		<item>
			<title><![CDATA[Файловая система ext4]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=151622#p151622</link>
			<description><![CDATA[<p>Просветите меня об особенностях этой новой файловой системы. Об её плюсах и минусах.</p>]]></description>
			<author><![CDATA[null@example.com (Rulya)]]></author>
			<pubDate>Wed, 02 Mar 2011 10:18:20 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=151622#p151622</guid>
		</item>
	</channel>
</rss>
