Not sure whether this, which involves a third-party component, is something for which you could provide a link? If yes, please do. If no, it's okay.
Thanks either way!
That's the thing with bugs that have security implications that you don't want the details to be public until everyone affected had a chance to update. I'll want to wait until I get confirmation that they are fine with making the details public first (I'll likely ping them in the next few days to check on the status - the bug report in their issue tracker is currently (still) hidden). So it's fully intended that you can't find anything yet...
Here is a brief summary of ZFS, all but the last paragraph of which is directly quoted from the ZFS Wikipeda article:
"ZFS (previously Zettabyte File System) is a file system with volume management capabilities. It began as part of the Sun Microsystems Solaris operating system in 2001. . . .
"In 2013, OpenZFS was founded to coordinate the development of open source ZFS. . . .
"The management of stored data generally involves two aspects: the physical volume management of one or more block storage devices . . . and the management of data and files that are stored. . . .
"ZFS is unusual because, unlike most other storage systems, it unifies both of these roles and acts as both the volume manager and the file system. . . ZFS is designed to ensure (subject to sufficient data redundancy) that data stored on disks cannot be lost due to physical errors, misprocessing by the hardware or operating system, or bit rot events and data corruption that may happen over time.
"ZFS also includes a mechanism for dataset and pool-level snapshots and replication. . . . Very large numbers of snapshots can be taken without degrading performance, allowing snapshots to be used prior to risky system operations and software changes, or an entire production ("live") file system to be fully snapshotted several times an hour in order to mitigate data loss due to user error or malicious activity. . . .
"Examples of features specific to ZFS include:
"Hierarchical checksumming of all data and metadata, ensuring that the entire storage system can be verified on use, and confirmed to be correctly stored, or remedied if corrupt. Checksums are stored with a block's parent block, rather than with the block itself. This contrasts with many file systems where checksums (if held) are stored with the data so that if the data is lost or corrupt, the checksum is also likely to be lost or incorrect.
"Automated and (usually) silent self-healing of data inconsistencies and write failure when detected, for all errors where the data is capable of reconstruction.
"Native handling of standard RAID levels and additional ZFS RAID layouts ("RAID-Z").
"Ability to identify data that would have been found in a cache but has been discarded recently instead; this allows ZFS to reassess its caching decisions in light of later use and facilitates very high cache-hit levels (ZFS cache hit rates are typically over 80%); . . .
"ZFS has no tool equivalent to fsck . . . Instead, ZFS has a built-in scrub function which regularly examines all data and repairs silent corruption and other problems.
"ZFS is a 128-bit file system,[44][16] so it can address 1.84 × 1019 times more data than 64-bit systems such as Btrfs.
"As of 2019 the encryption feature is also fully integrated into OpenZFS . . . available for Debian. . . .
"ZFS uses different layers of disk cache to speed up read and write operations.
"ZFS uses a copy-on-write transactional object model. All block pointers within the filesystem contain a 256-bit checksum or 256-bit hash (currently a choice between Fletcher-2, Fletcher-4, or SHA-256)[59] of the target block, which is verified when the block is read. Blocks containing active data are never overwritten in place; instead, a new block is allocated, modified data is written to it, then any metadata blocks referencing it are similarly read, reallocated, and written. . . .
"ZFS file systems can be moved to other pools, also on remote hosts over the network. . . .
"ZFS uses variable-sized blocks, with 128 KB as the default size. Available features allow the administrator to tune the maximum block size which is used, as certain workloads do not perform well with large blocks. . . ."
root@hlcs:~# apt show zfs-zed
Package: zfs-zed
Version: 2.1.11-1
Priority: optional
Section: contrib/admin
Source: zfs-linux
Maintainer: Debian ZFS on Linux maintainers <[email protected]>
Installed-Size: 274 kB
Pre-Depends: init-system-helpers (>= 1.54~)
Depends: zfs-modules | zfs-dkms, zfsutils-linux (>= 2.1.11-1), libc6 (>= 2.34), libnvpair3linux (>= 0.8.2), libudev1 (>= 183), libuuid1 (>= 2.16), libuutil3linux (>= 0.8.2), libzfs4linux (>= 2.1.11-1)
Homepage: https://zfsonlinux.org/
Download-Size: 75.6 kB
APT-Sources: http://ftp.de.debian.org/debian bookworm/contrib amd64 Packages
Description: OpenZFS Event Daemon
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
ZED (ZFS Event Daemon) monitors events generated by the ZFS kernel
module. When a zevent (ZFS Event) is posted, ZED will run any ZEDLETs
(ZFS Event Daemon Linkage for Executable Tasks) that have been enabled
for the corresponding zevent class.
.
This package provides the OpenZFS Event Daemon (zed).
root@hlcs:~#
Just to show that the zfs module is not already present on hlcs:
root@hlcs:~# which modprobe
/usr/sbin/modprobe
root@hlcs:~# modprobe zfs
modprobe: FATAL: Module zfs not found in directory /lib/modules/6.1.0-28-amd64
root@hlcs:~#
@Crab said:
You get the module from zfs-dkms and since it is in contrib, you will have to enable that in the sources.list.
contrib already is enabled, but none of the ZFS stuff is installed yet. Relaxing here while waiting to make sure cmeerw is okay with installing ZFS.
Thanks for being so careful watching my back! Much appreciated!
root@hlcs:~# cat /etc/apt/sources.list
deb http://ftp.de.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://ftp.de.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://ftp.de.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://ftp.de.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# bookworm-updates, to get updates before a point release is made;
# see http://ftp.de.debian.org/debian
deb http://ftp.de.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://ftp.de.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
root@hlcs:~#
What's actually in "non-free" nowadays? Do we really need that? Maybe we should get rid of it as the rules say "Free, open source software only." We might still need non-free-firmware, though.
What's actually in "non-free" nowadays? Do we really need that? Maybe we should get rid of it as the rules say "Free, open source software only." We might still need non-free-firmware, though.
Our Hosteroid Low End Spirit Community Server ("hlcs") is using Hosteroid's default Debian distribution, as far as I know. Hosteroid originally, and very kindly, gave me hlcs already installed.
I haven't gone through the contents of non-free, but, awhile back, I found out the hard way that gcc man pages are in non-free. Apparently there is a conflict between the GNU Free Documentation License ("GDFL") and the Debian Free Software Guidelines ("DFSG"). Please see
Without adding non-free to sources.list, one cannot use apt to install the gcc man pages, and contrib is necessary in sources.list to install additional gcc documentation (the gcc-doc package).
I'd be delighted to consider other arrangements if there is anything you want to do differently. If you want, we could consider reinstalling with a different flavor of Debian, a different Linux distribution, or a non-Linux OS.
If anyone else wants to join us, surely we would consider their view about what we might install or reinstall.
Thanks again @cmeerw! Thanks also to @Hosteroid for our fun, free hlcs server!
Not sure whether this, which involves a third-party component, is something for which you could provide a link? If yes, please do. If no, it's okay.
Thanks either way!
That's the thing with bugs that have security implications that you don't want the details to be public until everyone affected had a chance to update. I'll want to wait until I get confirmation that they are fine with making the details public first (I'll likely ping them in the next few days to check on the status - the bug report in their issue tracker is currently (still) hidden). So it's fully intended that you can't find anything yet...
Just checked on the status and they are still planning to do a formal security advisory. I'll post here once it gets published.
It would be lovely to have you join us, and so I will keep trying to give you an account on our community server.
Thanks for telling us what you want to do on the server (make a forum with Flarum or Discourse) and for giving us a link to your Github profile (at https://github.com/kk14569).
Unfortunately, it hasn't been possible for me to understand who and where you are.
Quoting from the OP:
Please remember that, quoting from the Rules above, "@Not_Oles must know who and where you are." Some people send scans of government and university ID. Other people send other or additional things.
If you want to see an example for what identity information is needed, please check the example given in the OP:
One of our friendly Administrators here at LES, Mason, is a great example of somebody whose request for an account would be accepted right away. Thanks to @Mason for kind permission to link to his pages.
When we look at Mason's example, we see his community presence here at LES via his LES profile. We also see who he is and where he is and what he does for work.
Your profile here and your Github seem impossible to use to determine who and where you are or what you do for work. Of course, I can imagine several very good reasons why you might not want to disclose your identity.
Again quoting from the OP:
I appreciate that many people here on the Low End have important and fully legitimate concerns about privacy. I respect those concerns! Happily there are many options available here on our beautiful Low End for people concerned about privacy.
If you wish, please feel free to provide more information about yourself. As I said, I will keep trying to get you an account.
Is it a good idea to use zfs on Linux tho? Worth the trouble or not?
Pretty sure it's a horrible idea to use it on Arch Linux but what about Debian stable?
@ususk said:
Is it a good idea to use zfs on Linux tho? Worth the trouble or not?
I really don't know! But @Cloud suggested trying it. So, why not try iit?
We can leave ext4, xfs, btrfs, and zfs on the server until somebody needs the space for something. Or we can wipe the server and do something different if everyone wants to go differently.
Pretty sure it's a horrible idea to use it on Arch Linux but what about Debian stable?
What difference does the Linux distro make on file system choice?
I use btrfs on Arch Linux for the snapshot feature. Sometimes need to roll back after I pacman -Syu and break something. I know zfs is capable of this and everyone tells me zfs is better than btrfs so I've been wanting to give it a try if it's worth the trouble
It would be lovely to have you join us, and so I will keep trying to give you an account on our community server.
Thanks for telling us what you want to do on the server (make a forum with Flarum or Discourse) and for giving us a link to your Github profile (at https://github.com/kk14569).
Unfortunately, it hasn't been possible for me to understand who and where you are.
Quoting from the OP:
Please remember that, quoting from the Rules above, "@Not_Oles must know who and where you are." Some people send scans of government and university ID. Other people send other or additional things.
If you want to see an example for what identity information is needed, please check the example given in the OP:
One of our friendly Administrators here at LES, Mason, is a great example of somebody whose request for an account would be accepted right away. Thanks to @Mason for kind permission to link to his pages.
When we look at Mason's example, we see his community presence here at LES via his LES profile. We also see who he is and where he is and what he does for work.
Your profile here and your Github seem impossible to use to determine who and where you are or what you do for work. Of course, I can imagine several very good reasons why you might not want to disclose your identity.
Again quoting from the OP:
I appreciate that many people here on the Low End have important and fully legitimate concerns about privacy. I respect those concerns! Happily there are many options available here on our beautiful Low End for people concerned about privacy.
If you wish, please feel free to provide more information about yourself. As I said, I will keep trying to get you an account.
@ususk said: Is it a good idea to use zfs on Linux tho? Worth the trouble or not?
Personally, I try to stay away from anything that's not in the mainline kernel.
@Not_Oles said: We can leave ext4, xfs, btrfs, and zfs on the server until somebody needs the space for something. Or we can wipe the server and do something different if everyone wants to go differently.
So far we are only using 64 GB for each of ext4, xfs, and btfs, so there is still plenty of space available. And as it's all logical volumes, we can extend each as needed. As long as we are reasonably conservative with allocating space to each of these logical volumes, we should be fine.
I am just hoping that ZFS doesn't get too upset when it's not allowed to use up all the space available, and gets put onto a logical volume (like everyone else).
@cmeerw said:
I am just hoping that ZFS doesn't get too upset when it's not allowed to use up all the space available, and gets put onto a logical volume (like everyone else).
When ZFS gets upset, it is because it is not allowed to use up all the memory available
We seem to be close to articulating the reason why I stick to ext4. There are so many technical advantage to the advanced file systems. These make me jealous! But then there also are horror stories every once in awhile on HN. The file systems seem a lot like big cloud provider billing. Every once in awhile. . . .
Life seems peaceful on a little, old dedi with ext4.
I was primarily interested in the performance numbers between ZFS and the others as you already did some measurements. I am not expecting any surprises really, but just curious to how they compare.
Yes ZFS has its reputation of being a memory hog, but you can tune ZFS pretty well to run nicely even on a low memory environment. I have it running on 512MB BuyVM boxes just fine. Snapshots, checksums, encryption etc are all very useful.
then, maybe, I will be able to run Yabs on ZFS to get its fio tests.
Additionally, I hope to invest a few seconds glancing at the source code for some of these file systems.
So that's my fun plan for the next few hours, days, or weeks on hlcs , depending on how long it takes and on how much other fun stuff I am doing elsewhere. Probably each step will show up in a post in this thread.
That sounds like a solid plan and I'm sure you are going to have a lot of fun with it. As a little twist, you can also try zfs-fuse to understand how much performance is being lost with the FUSE layer compared to a kernel module.
Comments
That's the thing with bugs that have security implications that you don't want the details to be public until everyone affected had a chance to update. I'll want to wait until I get confirmation that they are fine with making the details public first (I'll likely ping them in the next few days to check on the status - the bug report in their issue tracker is currently (still) hidden). So it's fully intended that you can't find anything yet...
@cmeerw
Hope you are enjoying the weekend!
I want to see if I can install zfs. Also, xorg, x11vnc, xterm, x11-apps, ctwm, xvfb.
I will try these on another Debian install first, but, still. . . .
What is your near term plan for the server? Is my plan okay with you? Thanks either way!
Tom
I hope everyone gets the servers they want!
I hope everyone gets the servers they want!
I believe this should be enough to open the gates to the Fun Town: apt install zfsutils-linux zfs-dkms zfs-zed ; modprobe zfs
In case anyone might be interested here are links to:
ZFS on Linux
OpenZFS Debian Install Documentation
ZFS Wikipedia article
OpenZFS Main Page
Here is a brief summary of ZFS, all but the last paragraph of which is directly quoted from the ZFS Wikipeda article:
"ZFS (previously Zettabyte File System) is a file system with volume management capabilities. It began as part of the Sun Microsystems Solaris operating system in 2001. . . .
"In 2013, OpenZFS was founded to coordinate the development of open source ZFS. . . .
"The management of stored data generally involves two aspects: the physical volume management of one or more block storage devices . . . and the management of data and files that are stored. . . .
"ZFS is unusual because, unlike most other storage systems, it unifies both of these roles and acts as both the volume manager and the file system. . . ZFS is designed to ensure (subject to sufficient data redundancy) that data stored on disks cannot be lost due to physical errors, misprocessing by the hardware or operating system, or bit rot events and data corruption that may happen over time.
"ZFS also includes a mechanism for dataset and pool-level snapshots and replication. . . . Very large numbers of snapshots can be taken without degrading performance, allowing snapshots to be used prior to risky system operations and software changes, or an entire production ("live") file system to be fully snapshotted several times an hour in order to mitigate data loss due to user error or malicious activity. . . .
"Examples of features specific to ZFS include:
"Hierarchical checksumming of all data and metadata, ensuring that the entire storage system can be verified on use, and confirmed to be correctly stored, or remedied if corrupt. Checksums are stored with a block's parent block, rather than with the block itself. This contrasts with many file systems where checksums (if held) are stored with the data so that if the data is lost or corrupt, the checksum is also likely to be lost or incorrect.
"Automated and (usually) silent self-healing of data inconsistencies and write failure when detected, for all errors where the data is capable of reconstruction.
"Native handling of standard RAID levels and additional ZFS RAID layouts ("RAID-Z").
"Ability to identify data that would have been found in a cache but has been discarded recently instead; this allows ZFS to reassess its caching decisions in light of later use and facilitates very high cache-hit levels (ZFS cache hit rates are typically over 80%); . . .
"ZFS has no tool equivalent to fsck . . . Instead, ZFS has a built-in scrub function which regularly examines all data and repairs silent corruption and other problems.
"ZFS is a 128-bit file system,[44][16] so it can address 1.84 × 1019 times more data than 64-bit systems such as Btrfs.
"As of 2019 the encryption feature is also fully integrated into OpenZFS . . . available for Debian. . . .
"ZFS uses different layers of disk cache to speed up read and write operations.
"ZFS uses a copy-on-write transactional object model. All block pointers within the filesystem contain a 256-bit checksum or 256-bit hash (currently a choice between Fletcher-2, Fletcher-4, or SHA-256)[59] of the target block, which is verified when the block is read. Blocks containing active data are never overwritten in place; instead, a new block is allocated, modified data is written to it, then any metadata blocks referencing it are similarly read, reallocated, and written. . . .
"ZFS file systems can be moved to other pools, also on remote hosts over the network. . . .
"ZFS uses variable-sized blocks, with 128 KB as the default size. Available features allow the administrator to tune the maximum block size which is used, as certain workloads do not perform well with large blocks. . . ."
Last, but not least, Proxmox comes with pre-built ZFS as an available install option. Proxmox recommends a minimum of 8 GB ECC RAM to start. Debian and Ubuntu seem to require some tweaking to install ZFS.
I hope everyone gets the servers they want!
Just to show that the zfs module is not already present on hlcs:
Thanks to @Hosteroid for our very fun server!
Anybody else want to hop on? We'd love to have you! Please check the How to Apply section in the OP!
I hope everyone gets the servers they want!
You get the module from zfs-dkms and since it is in contrib, you will have to enable that in the sources.list.
contrib already is enabled, but none of the ZFS stuff is installed yet. Relaxing here while waiting to make sure cmeerw is okay with installing ZFS.
Thanks for being so careful watching my back! Much appreciated!
I hope everyone gets the servers they want!
No real plan, so just go ahead.
What's actually in "non-free" nowadays? Do we really need that? Maybe we should get rid of it as the rules say "Free, open source software only." We might still need non-free-firmware, though.
Our Hosteroid Low End Spirit Community Server ("hlcs") is using Hosteroid's default Debian distribution, as far as I know. Hosteroid originally, and very kindly, gave me hlcs already installed.
I haven't gone through the contents of non-free, but, awhile back, I found out the hard way that gcc man pages are in non-free. Apparently there is a conflict between the GNU Free Documentation License ("GDFL") and the Debian Free Software Guidelines ("DFSG"). Please see
https://unix.stackexchange.com/questions/287075/why-cant-i-fetch-the-gcc-doc-package-on-debian
https://people.debian.org/~srivasta/Position_Statement.xhtml
Without adding non-free to sources.list, one cannot use apt to install the gcc man pages, and contrib is necessary in sources.list to install additional gcc documentation (the gcc-doc package).
I'd be delighted to consider other arrangements if there is anything you want to do differently. If you want, we could consider reinstalling with a different flavor of Debian, a different Linux distribution, or a non-Linux OS.
If anyone else wants to join us, surely we would consider their view about what we might install or reinstall.
Thanks again @cmeerw! Thanks also to @Hosteroid for our fun, free hlcs server!
I hope everyone gets the servers they want!
looks like @Not_Oles might have some @bikegremlin's in the mix
Free Hosting at YetiNode | Cryptid Security | URL Shortener | LaunchVPS | ExtraVM | Host-C | In the Node, or Out of the Loop?
I want one to build a forum and use Flarum or Discourse.
My GitHub: https://github.com/kk14569
Just checked on the status and they are still planning to do a formal security advisory. I'll post here once it gets published.
Hi @14569!
Thanks for your request!
It would be lovely to have you join us, and so I will keep trying to give you an account on our community server.
Thanks for telling us what you want to do on the server (make a forum with Flarum or Discourse) and for giving us a link to your Github profile (at https://github.com/kk14569).
Unfortunately, it hasn't been possible for me to understand who and where you are.
Quoting from the OP:
If you want to see an example for what identity information is needed, please check the example given in the OP:
When we look at Mason's example, we see his community presence here at LES via his LES profile. We also see who he is and where he is and what he does for work.
Your profile here and your Github seem impossible to use to determine who and where you are or what you do for work. Of course, I can imagine several very good reasons why you might not want to disclose your identity.
Again quoting from the OP:
If you wish, please feel free to provide more information about yourself. As I said, I will keep trying to get you an account.
Thanks again! Best wishes for the new year 2025!
Tom
I hope everyone gets the servers they want!
Happy holidays @Not_Oles and @Hosteroid. Thanks for being awesome and helping people eliminate barriers to self discovery and education.
Insert signature here, $5 tip required
broked it? can I brokeded it?
Free Hosting at YetiNode | Cryptid Security | URL Shortener | LaunchVPS | ExtraVM | Host-C | In the Node, or Out of the Loop?
Is it a good idea to use zfs on Linux tho? Worth the trouble or not?
Pretty sure it's a horrible idea to use it on Arch Linux but what about Debian stable?
I really don't know! But @Cloud suggested trying it. So, why not try iit?
We can leave ext4, xfs, btrfs, and zfs on the server until somebody needs the space for something. Or we can wipe the server and do something different if everyone wants to go differently.
I see your recommendation here:
What difference does the Linux distro make on file system choice?
Best wishes!
Thanks to you, @ususk, and to @Hosteroid!
I hope everyone gets the servers they want!
I use btrfs on Arch Linux for the snapshot feature. Sometimes need to roll back after I pacman -Syu and break something. I know zfs is capable of this and everyone tells me zfs is better than btrfs so I've been wanting to give it a try if it's worth the trouble
Ok, I'll send you my info via messages.
Personally, I try to stay away from anything that's not in the mainline kernel.
So far we are only using 64 GB for each of ext4, xfs, and btfs, so there is still plenty of space available. And as it's all logical volumes, we can extend each as needed. As long as we are reasonably conservative with allocating space to each of these logical volumes, we should be fine.
I am just hoping that ZFS doesn't get too upset when it's not allowed to use up all the space available, and gets put onto a logical volume (like everyone else).
When ZFS gets upset, it is because it is not allowed to use up all the memory available
We seem to be close to articulating the reason why I stick to ext4. There are so many technical advantage to the advanced file systems. These make me jealous! But then there also are horror stories every once in awhile on HN. The file systems seem a lot like big cloud provider billing. Every once in awhile. . . .
Life seems peaceful on a little, old dedi with ext4.
I hope everyone gets the servers they want!
I was primarily interested in the performance numbers between ZFS and the others as you already did some measurements. I am not expecting any surprises really, but just curious to how they compare.
Yes ZFS has its reputation of being a memory hog, but you can tune ZFS pretty well to run nicely even on a low memory environment. I have it running on 512MB BuyVM boxes just fine. Snapshots, checksums, encryption etc are all very useful.
@Crab
Following up on your kind suggestion to try ZFS, I posted above:
Besides having to study up on ZFS itself, at minimum, I also need at least to
study up on logical block addressing ("LBA");
install the ZFS packages @Crab mentioned above:
set up the logical volume for ZFS (see @cmeerw's use of
lvcreate
at https://lowendspirit.com/discussion/comment/198328/#Comment_198328 and at https://lowendspirit.com/discussion/comment/199230/#Comment_199230)format the ZFS partition;
add the ZFS partition to /etc/fstab; and
then, maybe, I will be able to run Yabs on ZFS to get its
fio
tests.Additionally, I hope to invest a few seconds glancing at the source code for some of these file systems.
So that's my fun plan for the next few hours, days, or weeks on hlcs , depending on how long it takes and on how much other fun stuff I am doing elsewhere. Probably each step will show up in a post in this thread.
Any goofs? Any gripes?
Happy New Year @Hosteroid! @cmeerw! @Crab! @everyone!
I hope everyone gets the servers they want!
That sounds like a solid plan and I'm sure you are going to have a lot of fun with it. As a little twist, you can also try zfs-fuse to understand how much performance is being lost with the FUSE layer compared to a kernel module.
Happy New Year everybody!
Thanks! Appreciate your looking out for me!
https://en.wikipedia.org/wiki/Filesystem_in_Userspace
https://packages.debian.org/bookworm/zfs-fuse
Sounds like even more fun! Thanks for the suggestion!
I hope everyone gets the servers they want!