fix storage
This commit is contained in:
59
ZFS-MOUNTPOINT-FIX.md
Normal file
59
ZFS-MOUNTPOINT-FIX.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# ZFS Pool Mountpoint Fix
|
||||
|
||||
## Issue
|
||||
ZFS pool creation was failing with error:
|
||||
```
|
||||
cannot mount '/default': failed to create mountpoint: Read-only file system
|
||||
```
|
||||
|
||||
The issue was that ZFS was trying to mount pools to the root filesystem (`/default`), which is read-only.
|
||||
|
||||
## Solution
|
||||
Updated the ZFS pool creation code to set a default mountpoint to `/opt/calypso/data/pool/<pool-name>` for all pools.
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. Updated `backend/internal/storage/zfs.go`
|
||||
- Added mountpoint configuration during pool creation using `-m` flag
|
||||
- Set default mountpoint to `/opt/calypso/data/pool/<pool-name>`
|
||||
- Added code to create the mountpoint directory before pool creation
|
||||
- Added logging for mountpoint creation
|
||||
|
||||
**Key Changes:**
|
||||
```go
|
||||
// Set default mountpoint to /opt/calypso/data/pool/<pool-name>
|
||||
mountPoint := fmt.Sprintf("/opt/calypso/data/pool/%s", name)
|
||||
args = append(args, "-m", mountPoint)
|
||||
|
||||
// Create mountpoint directory if it doesn't exist
|
||||
if err := os.MkdirAll(mountPoint, 0755); err != nil {
|
||||
return nil, fmt.Errorf("failed to create mountpoint directory %s: %w", mountPoint, err)
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Directory Setup
|
||||
- Created `/opt/calypso/data/pool` directory
|
||||
- Set ownership to `calypso:calypso`
|
||||
- Set permissions to `0755`
|
||||
|
||||
## Default Mountpoint Structure
|
||||
All ZFS pools will now be mounted under:
|
||||
```
|
||||
/opt/calypso/data/pool/
|
||||
├── pool-name-1/
|
||||
├── pool-name-2/
|
||||
└── ...
|
||||
```
|
||||
|
||||
## Testing
|
||||
1. Backend rebuilt successfully
|
||||
2. Service restarted successfully
|
||||
3. Ready to test pool creation from frontend
|
||||
|
||||
## Next Steps
|
||||
- Test pool creation from the frontend UI
|
||||
- Verify that pools are mounted correctly at `/opt/calypso/data/pool/<pool-name>`
|
||||
- Ensure proper permissions for pool mountpoints
|
||||
|
||||
## Date
|
||||
2026-01-09
|
||||
Reference in New Issue
Block a user