Skip to content

Instantly share code, notes, and snippets.

@sbOogway
Created April 25, 2026 16:03
Show Gist options
  • Select an option

  • Save sbOogway/0ab9e0175f325da94a1adf0d3f64a219 to your computer and use it in GitHub Desktop.

Select an option

Save sbOogway/0ab9e0175f325da94a1adf0d3f64a219 to your computer and use it in GitHub Desktop.
knowledge graphs on storage in unix
graph TD
%% Main Header
Title[ULTIMATE KNOWLEDGE GRAPH ON STORAGE IN UNIX]
style Title fill:#f9f,stroke:#333,stroke-width:4px
%% Physical Layer
SD[STORAGE DEVICE: Piece of hardware used to store data] --> Comp[Composed of]
Comp --> Drive[DRIVE: Part of device responsible for reading/writing. Now used to indicate media where data is stored.]
Comp --> Disk[DISK: Media where we store data. Name from old devices that were actually disks.]
Drive --- Note1[In modern slang these are equivalent]
Disk --- Note1
%% Partitioning Layer
SD --> Partition[PARTITION: Logical software defined boundaries on a drive. Useful to use multiple file systems on one device.]
Partition --> GPT[GPT: GUID Partition Table]
Partition --> MBR[MBR: Master Boot Record]
%% File System Layer
Partition --> FS[FILE SYSTEM: A strategy on how we manage files in a partition]
FS --> XFS[XFS]
FS --> ZFS[ZFS]
FS --> EXT4[EXT4]
%% Directory & Mounting
Inode[INODE: data structure in a unix file-system that describes...]
Dir[DIRECTORY: Type of inode used to organize files, links, and other directories]
File[FILE: Type of inode]
Link[LINK: ]
Mount[MOUNT POINT: Directory where we mount a file system, partition, or storage device]
FS -.-> Inode
Inode --> Dir
Inode --> File
Inode --> Link
Dir --> Mount
%% FS --> Mount
%% Logical Volume Management (LVM)
Partition -- "Used to build" --> PV[PHYSICAL VOLUME: A partition + a file system]
PV -- "Multiple PVs form" --> VG[VOLUME GROUP: Aggregation of PVs]
VG -- "Multiple" --> LV[LOGICAL VOLUME: Aggregation of PVs]
%% Styling to match your red-ink theme
%% style SD stroke:#ff0000,stroke-width:2px
%% style Partition stroke:#ff0000,stroke-width:2px
%% style FS stroke:#ff0000,stroke-width:2px
%% style PV stroke:#ff0000,stroke-width:2px
%% style VG stroke:#ff0000,stroke-width:2px
%% style LV stroke:#ff0000,stroke-width:2px
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment