# Ext4

Ext4 is an advanced Linux filesystem based on ext3, with scalability and reliability enhancements for large filesystems.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## 分布式文件系统的演化

DevFeed: [分布式文件系统的演化](<https://devfeed.tech/articles/article-40973.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/deep-into-distributed-filesystem/>)

Author: Joway

Published: 2020-06-14T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [IO](<https://devfeed.tech/topics/io.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Ext4](<https://devfeed.tech/topics/ext4.md>), [hdfs](<https://devfeed.tech/topics/hdfs.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [blocks](<https://devfeed.tech/tags/blocks.md>), [client](<https://devfeed.tech/tags/client.md>), [ext4](<https://devfeed.tech/tags/ext4.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [google](<https://devfeed.tech/tags/google.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [io](<https://devfeed.tech/tags/io.md>), [lease](<https://devfeed.tech/tags/lease.md>), [linux](<https://devfeed.tech/tags/linux.md>), [master](<https://devfeed.tech/tags/master.md>), [pointers](<https://devfeed.tech/tags/pointers.md>), [primary](<https://devfeed.tech/tags/primary.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

This article explains local filesystem structure, including superblocks, inodes, block pointers, and file-size limits, then introduces the evolution and architecture of distributed filesystems. It uses GFS to describe metadata lookup, chunk locations, caching, replication, leases, and client read and write flows, and mentions HDFS as a related implementation.

### Source excerpt

文件系统是操作系统 IO 栈里非常重要的一个中间层，其存在的意义是为了让上层应用程序有一层更加符合人类直觉的抽象来进行文档的读写，而无需考虑底层存储上的细节。 本地文件系统 在讨论分布式文件系统前，我们先来回顾下本地文件系统的组成。 存储结构 在前面一张图里，我们能够看到文件系统直接和通用块层进行交互，无论底层存储介质是磁盘还是 SSD，都被该层抽象为 Block 的概念。文件系统在初始化时，会先在挂载的块存储上的第一个位置创建一个 Super Block：

## Linux I/O 栈浅析

DevFeed: [Linux I/O 栈浅析](<https://devfeed.tech/articles/linux-i-o-41000.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/linux-io-stack/>)

Author: Joway

Published: 2019-08-11T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [IO](<https://devfeed.tech/topics/io.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [file](<https://devfeed.tech/topics/file.md>), [Ext4](<https://devfeed.tech/topics/ext4.md>), [XFS](<https://devfeed.tech/topics/xfs.md>)

Tags: [block](<https://devfeed.tech/tags/block.md>), [cache](<https://devfeed.tech/tags/cache.md>), [ceph](<https://devfeed.tech/tags/ceph.md>), [ext4](<https://devfeed.tech/tags/ext4.md>), [file](<https://devfeed.tech/tags/file.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [hdd](<https://devfeed.tech/tags/hdd.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [io](<https://devfeed.tech/tags/io.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [tech](<https://devfeed.tech/tags/tech.md>), [xfs](<https://devfeed.tech/tags/xfs.md>)

### AI overview

This article provides a high-level overview of Linux file I/O, tracing the path from applications through VFS, page cache, filesystems, FUSE, block devices, and I/O scheduling. It also explains hard and symbolic links, direct I/O, filesystem partitioning, and access to raw devices.

### Source excerpt

在 Linux 中，所有外部资源都以文件形式作为一个抽象视图，并提供一套统一的接口给应用程序调用。本文将以宏观视角试图阐述 Linux 中关于文件 IO 的整个调用脉络。 VFS 在 Linux 中，所有 IO 都必须先经由 VFS 层进行转发。通过 VFS 将包括磁盘、网络 Socket、打印机、管道等资源全部封装成统一的接口。

## Dynamiczna zmiana rozmiaru partycji EXT4 na LVM'ie

DevFeed: [Dynamiczna zmiana rozmiaru partycji EXT4 na LVM'ie](<https://devfeed.tech/articles/dynamiczna-zmiana-rozmiaru-partycji-ext4-na-lvm-ie-27527.md>)

Original publisher: [Read original article](<https://gagor.pro/2012/06/dynamiczna-zmiana-rozmiaru-partycji-ext4-na-lvmie/>)

Author: Tom

Published: 2012-06-08T00:00:00Z

Content type: tutorial

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Ext4](<https://devfeed.tech/topics/ext4.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [ext4](<https://devfeed.tech/tags/ext4.md>), [lvm](<https://devfeed.tech/tags/lvm.md>)

### AI overview

A Polish technical note explains how to enlarge an EXT4 filesystem on an LVM logical volume. It gives commands to extend the LVM volume with lvextend and resize the filesystem with resize2fs, noting that the operation can be performed online on a mounted resource.

### Source excerpt

Używam LVM'a zarówno na desktopie jak i wielu serwerach bo bardzo podoba mi się możliwość powiększenia akurat tej partycji, na której brakuje miejsca. O ile pamiętam jak powiększyć partycję XFS (xfs_growfs /punkt/montowania) to zawsze mam problem jak to zrobić na EXT3/4, więc notuję. Powiększenie wolumenu LVM (np. o 10 gigabajtów): lvextend -L+10G /dev/vggroup/vol Zwiększenie rozmiaru systemu plików do nowego rozmiaru wolumenu: resize2fs /dev/vggroup/vol Powyższe polecenie można wykonać na zamontowanym zasobie - online.

## Xen na Squeeze - Instalowanie i konfiguracja hostów gości (DomU)

DevFeed: [Xen na Squeeze - Instalowanie i konfiguracja hostów gości (DomU)](<https://devfeed.tech/articles/xen-na-squeeze-instalowanie-i-konfiguracja-hostow-gosci-domu-27520.md>)

Original publisher: [Read original article](<https://gagor.pro/2012/02/xen-na-squeeze-instalowanie-i-konfiguracja-hostow-gosci-domu/>)

Author: Tom

Published: 2012-02-24T00:00:00Z

Content type: tutorial

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Xen](<https://devfeed.tech/topics/xen.md>), [LVM](<https://devfeed.tech/topics/lvm.md>), [Ext4](<https://devfeed.tech/topics/ext4.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [XFS](<https://devfeed.tech/topics/xfs.md>), [apt](<https://devfeed.tech/topics/apt.md>)

Tags: [apt](<https://devfeed.tech/tags/apt.md>), [debian](<https://devfeed.tech/tags/debian.md>), [ext4](<https://devfeed.tech/tags/ext4.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lvm](<https://devfeed.tech/tags/lvm.md>), [virtual](<https://devfeed.tech/tags/virtual.md>), [volume](<https://devfeed.tech/tags/volume.md>), [xen](<https://devfeed.tech/tags/xen.md>), [xfs](<https://devfeed.tech/tags/xfs.md>)

### AI overview

A Polish tutorial explains how to install and configure Xen guest domains (DomU) on Debian Squeeze using xen-tools. It covers default settings, LVM-backed virtual machine disks, snapshots, networking, filesystem choices, independent kernels, and pygrub limitations with XFS.

### Source excerpt

Ostatnio pisałem o konfiguracji Dom0 external link - dzisiaj napiszę o uruchamianiu DomU. Do instalacji DomU wykorzystuję skrypty z pakietu xen-tools, można go zainstalować poleceniem: apt-get install xen-tools Oczywiście aby wszystko działało fajnie musimy ustawić kilka domyślnych opcji, robimy to edytując plik /etc/xen-tools/xen-tools.conf. Lecimy po kolei: # Virtual machine disks are created as logical volumes in # volume group 'universe' (hint: LVM storage is much faster # than file) lvm = universe Osobiście korzystam z LVM'a który zgodnie z hint'em jest znacznie szybszy od plików obrazów. Daje do tego bardzo wygodne możliwość w zarządzaniu rozmiarami wolumenów przydzielonych DomU, możliwość tworzenia snapshotów (np. na potrzeby backupu). Postawienie LVM'a w skrócie wygląda tak:

## fsck.ext4 - Błąd podczas przydzielania struktury icount: Memory allocation failed

DevFeed: [fsck.ext4 - Błąd podczas przydzielania struktury icount: Memory allocation failed](<https://devfeed.tech/articles/fsck-ext4-b-ad-podczas-przydzielania-struktury-icount-memory-allocation-failed-27495.md>)

Original publisher: [Read original article](<https://gagor.pro/2011/09/fsck-ext4-blad-podczas-przydzielania-struktury-icount-memory-allocation-failed/>)

Author: Tom

Published: 2011-09-21T00:00:00Z

Content type: tutorial

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Ext4](<https://devfeed.tech/topics/ext4.md>), [screen](<https://devfeed.tech/topics/screen.md>)

Tags: [ext4](<https://devfeed.tech/tags/ext4.md>), [failed](<https://devfeed.tech/tags/failed.md>), [fsck](<https://devfeed.tech/tags/fsck.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory](<https://devfeed.tech/tags/memory.md>), [screen](<https://devfeed.tech/tags/screen.md>)

### AI overview

A Polish technical article describes an fsck.ext4 failure with "Memory allocation failed" while checking an approximately 14 TB filesystem containing hundreds of millions of files and many hard links. It explains the memory constraints involved and suggests using a temporary directory for inode and directory metadata, with fsck run from screen to monitor progress.

### Source excerpt

Miałem ostatnio dziwną przygodę: pewien serwer do backupu gdzie ląduje dużo małych plików i dodatkowo tworzonych jest sporo hardlinków zaliczył pada. Co prawda starałem się go grzecznie położyć z pomocą Magic SysRq ale ponieważ nie wiedziałem co było przyczyną awarii fsck wydawał się wskazany. Podczas próby uruchomienia fsck.ext4 na systemie plików o rozmiarze ok 14TB z kilkuset milionami plików po kilkudziesięciu sekundach otrzymywałem komunikat: Błąd podczas przydzielania struktury icount: Memory allocation failed