76 lines
2.5 KiB
Markdown
76 lines
2.5 KiB
Markdown
|
|
# ZFS Installation and Basic Configuration Guide for Ubuntu 24.04
|
|
|
|
## 1. Introduction
|
|
|
|
This guide provides step-by-step instructions for installing ZFS on Ubuntu 24.04. It also shows how to create a custom directory for configuration files at `/opt/calypso/conf/zfs`.
|
|
|
|
**Disclaimer:** ZFS is a powerful and complex filesystem. This guide provides a basic installation and a simple example. For production environments, it is crucial to consult the official [OpenZFS documentation](https://openzfs.github.io/openzfs-docs/).
|
|
|
|
## 2. Installation
|
|
|
|
First, update your package lists and install the `zfsutils-linux` package.
|
|
|
|
```bash
|
|
sudo apt-get update
|
|
sudo apt-get install -y zfsutils-linux
|
|
```
|
|
|
|
## 3. Configuration Directory
|
|
|
|
ZFS configuration is typically stored in `/etc/zfs/`. We will create a custom directory for ZFS-related scripts or non-standard configuration files.
|
|
|
|
```bash
|
|
sudo mkdir -p /opt/calypso/conf/zfs
|
|
```
|
|
|
|
**Important:** The primary ZFS configuration is managed through `zpool` and `zfs` commands and is stored within the ZFS pools themselves. The `/etc/zfs/` directory mainly contains host-specific pool cache information and other configuration files. Manually moving or modifying these files without a deep understanding of ZFS can lead to data loss.
|
|
|
|
For any advanced configuration that requires modifying ZFS services or configuration files, please refer to the official OpenZFS documentation.
|
|
|
|
## 4. Creating a ZFS Pool (Example)
|
|
|
|
This example demonstrates how to create a simple, file-based ZFS pool for testing purposes. This is **not** recommended for production use.
|
|
|
|
1. **Create a file to use as a virtual disk:**
|
|
|
|
```bash
|
|
sudo fallocate -l 4G /zfs-disk
|
|
```
|
|
|
|
2. **Create a ZFS pool named `my-pool` using the file:**
|
|
|
|
```bash
|
|
sudo zpool create my-pool /zfs-disk
|
|
```
|
|
|
|
3. **Check the status of the new pool:**
|
|
|
|
```bash
|
|
sudo zpool status my-pool
|
|
```
|
|
|
|
4. **Create a ZFS filesystem in the pool:**
|
|
|
|
```bash
|
|
sudo zfs create my-pool/my-filesystem
|
|
```
|
|
|
|
5. **Mount the new filesystem and check its properties:**
|
|
|
|
```bash
|
|
sudo zfs list
|
|
```
|
|
|
|
You should now have a ZFS pool and filesystem ready for use.
|
|
|
|
## 5. ZFS Services
|
|
|
|
ZFS uses several systemd services to manage pools and filesystems. You can list them with:
|
|
|
|
```bash
|
|
systemctl list-units --type=service | grep zfs
|
|
```
|
|
|
|
If you need to customize the behavior of these services, it is recommended to use systemd override files rather than editing the main service files directly.
|