mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-11-09 03:23:40 +08:00
Compare commits
2 Commits
7d2af63eac
...
v7.28
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c70fa3d00a | ||
|
|
fea0ba09f6 |
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
dsm:
|
||||
container_name: dsm
|
||||
image: vdsm/virtual-dsm:latest
|
||||
image: vdsm/virtual-dsm
|
||||
environment:
|
||||
DISK_SIZE: "16G"
|
||||
devices:
|
||||
@@ -12,5 +12,6 @@ services:
|
||||
ports:
|
||||
- 5000:5000
|
||||
volumes:
|
||||
- /var/dsm:/storage
|
||||
- ./dsm:/storage
|
||||
restart: always
|
||||
stop_grace_period: 2m
|
||||
|
||||
@@ -30,10 +30,6 @@ spec:
|
||||
- name: dsm
|
||||
image: vdsm/virtual-dsm
|
||||
env:
|
||||
- name: RAM_SIZE
|
||||
value: "1G"
|
||||
- name: CPU_CORES
|
||||
value: "1"
|
||||
- name: DISK_SIZE
|
||||
value: "16G"
|
||||
ports:
|
||||
|
||||
19
readme.md
19
readme.md
@@ -39,7 +39,7 @@ services:
|
||||
ports:
|
||||
- 5000:5000
|
||||
volumes:
|
||||
- /var/dsm:/storage
|
||||
- ./dsm:/storage
|
||||
restart: always
|
||||
stop_grace_period: 2m
|
||||
```
|
||||
@@ -47,7 +47,7 @@ services:
|
||||
Via Docker CLI:
|
||||
|
||||
```bash
|
||||
docker run -it --rm -p 5000:5000 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 vdsm/virtual-dsm
|
||||
docker run -it --rm --name dsm -p 5000:5000 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v ${PWD:-.}/dsm:/storage --stop-timeout 120 vdsm/virtual-dsm
|
||||
```
|
||||
|
||||
Via Kubernetes:
|
||||
@@ -84,10 +84,10 @@ kubectl apply -f https://raw.githubusercontent.com/vdsm/virtual-dsm/refs/heads/m
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /var/dsm:/storage
|
||||
- ./dsm:/storage
|
||||
```
|
||||
|
||||
Replace the example path `/var/dsm` with the desired storage folder.
|
||||
Replace the example path `./dsm` with the desired storage folder or named volume.
|
||||
|
||||
### How do I change the size of the disk?
|
||||
|
||||
@@ -112,9 +112,6 @@ kubectl apply -f https://raw.githubusercontent.com/vdsm/virtual-dsm/refs/heads/m
|
||||
DISK_FMT: "qcow2"
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> This may reduce the write performance of the disk.
|
||||
|
||||
### How do I add multiple disks?
|
||||
|
||||
To create additional disks, modify your compose file like this:
|
||||
@@ -124,8 +121,8 @@ kubectl apply -f https://raw.githubusercontent.com/vdsm/virtual-dsm/refs/heads/m
|
||||
DISK2_SIZE: "32G"
|
||||
DISK3_SIZE: "64G"
|
||||
volumes:
|
||||
- /home/example:/storage2
|
||||
- /mnt/data/example:/storage3
|
||||
- ./example2:/storage2
|
||||
- ./example3:/storage3
|
||||
```
|
||||
|
||||
### How do I pass-through a disk?
|
||||
@@ -245,8 +242,8 @@ kubectl apply -f https://raw.githubusercontent.com/vdsm/virtual-dsm/refs/heads/m
|
||||
- /dev/dri
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> This can be used to enable the facial recognition function in Synology Photos for example.
|
||||
> [!NOTE]
|
||||
> This can be used to enable the facial recognition function in Synology Photos, but does not provide hardware transcoding for video.
|
||||
|
||||
### How do I install a specific version of vDSM?
|
||||
|
||||
|
||||
@@ -427,12 +427,13 @@ addDisk () {
|
||||
[ -z "$DISK_SPACE" ] && DISK_SPACE="16G"
|
||||
DISK_SPACE=$(echo "${DISK_SPACE^^}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g')
|
||||
[[ -z "${DISK_SPACE//[0-9]}" ]] && DISK_SPACE="${DISK_SPACE}G"
|
||||
DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE")
|
||||
|
||||
if (( DATA_SIZE < 1 )); then
|
||||
if ! numfmt --from=iec "$DISK_SPACE" &>/dev/null; then
|
||||
error "Invalid value for ${DISK_DESC^^}_SIZE: $DISK_SPACE" && exit 73
|
||||
fi
|
||||
|
||||
DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE")
|
||||
|
||||
if (( DATA_SIZE < 6442450944 )); then
|
||||
error "Please increase ${DISK_DESC^^}_SIZE to at least 6 GB." && exit 73
|
||||
fi
|
||||
|
||||
@@ -108,7 +108,11 @@ RAM_SPARE=500000000
|
||||
RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk '{print $7}')
|
||||
RAM_TOTAL=$(free -b | grep -m 1 Mem: | awk '{print $2}')
|
||||
RAM_SIZE=$(echo "${RAM_SIZE^^}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g')
|
||||
[[ -z ${RAM_SIZE//[0-9]} ]] && [ "$RAM_SIZE" -lt "130" ] && RAM_SIZE="${RAM_SIZE}G"
|
||||
! numfmt --from=iec "$RAM_SIZE" &>/dev/null && error "Invalid RAM size: $RAM_SIZE" && exit 15
|
||||
RAM_WANTED=$(numfmt --from=iec "$RAM_SIZE")
|
||||
[ "$RAM_WANTED" -lt "136314880 " ] && error "Invalid RAM size: $RAM_SIZE" && exit 16
|
||||
|
||||
AVAIL_GB=$(( RAM_AVAIL/1073741824 ))
|
||||
TOTAL_GB=$(( (RAM_TOTAL + 1073741823)/1073741824 ))
|
||||
WANTED_GB=$(( (RAM_WANTED + 1073741823)/1073741824 ))
|
||||
|
||||
Reference in New Issue
Block a user