Fusion-io/Linux
ReadMe
RemixVSL v3:
https://github.com/RemixVSL/iomemory-vsl
RemixVSL v4:
https://github.com/RemixVSL/iomemory-vsl4
Readme:
https://github.com/RemixVSL/iomemory-vsl/blob/main/README.md
Ubuntu
Debian/Ubuntu Dependencies:
sudo apt-get install gcc fakeroot build-essential debhelper rsync linux-headers-$(uname --r)
Download Source:
sudo apt-get install git git clone https://github.com/RemixVSL/iomemory-vsl cd iomemory-vsl/
Manually (good for testing only):
make module sudo insmod root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.ko
Debian: (.deb Ubuntu / Debian)
make dpkg dpkg -i ../iomemory-vsl-6.5.11-4-pve_3.2.16.1732_amd64.deb
DKMS (recommended):
sudo apt-get install dkms sudo make dkms
Load driver:
modprobe iomemory-vsl
Install tools:
git clone https://github.com/RemixVSL/vsl_downloads.git dpkg -i vsl_downloads/vsl3/fio-util_3.2.16.1731-1.0_amd64.deb
Download Firmware:
cd vsl_downloads ./mk_vsl3_firmware.sh
Proxmox
Proxmox Pre-Dependencies:
# apt install sudo git
Proxmox 8 Dependencies:
sudo apt-get install sudo git gcc fakeroot build-essential debhelper rsync pve-headers proxmox-headers-`uname -r`
Download Source:
sudo apt-get install git git clone https://github.com/RemixVSL/iomemory-vsl cd iomemory-vsl/
Manually (good for testing only):
make module sudo insmod root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.ko
Debian: (.deb Ubuntu / Debian)
make dpkg dpkg -i ../iomemory-vsl-6.5.11-4-pve_3.2.16.1732_amd64.deb
DKMS (recommended):
sudo apt-get install dkms sudo make dkms
Load driver:
modprobe iomemory-vsl
fio-detach /dev/fct0 # fio-format /dev/fct0 fio-format /dev/fct0 -s 4K # format 4k fio-attach /dev/fct0
Install tools:
git clone https://github.com/RemixVSL/vsl_downloads.git dpkg -i vsl_downloads/vsl3/fio-util_3.2.16.1731-1.0_amd64.deb
Create Ceph Bluestore: [1]
ceph-volume lvm create --bluestore --data /dev/fioa
Note: will get an error 'unable to find keyring'. See Proxmox/Fix Keyring to fix first.
If you need to rebuild the bluestore, you will need to first destroy it:
ceph-volume lvm zap /dev/fioa --destroy
Also create this udev rule to auto mount your LVM after reboots, or your OSDs won't be happy after reboots.
/etc/udev/rules.d/60-persistent-storage-fio.rules
cat > /etc/udev/rules.d/60-persistent-storage-fio.rules << "EOF"
# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
ACTION=="remove", GOTO="persistent_storage_end"
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
KERNEL!="fio*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
# For partitions import parent disk ID_* information, except ID_FS_*.
#
# This is particularly important on media where a filesystem superblock and
# partition table are found on the same level, e.g. common Linux distro ISO
# installation media.
#
# In the case where a partition device points to the same filesystem that
# was detected on the parent disk, the ID_FS_* information is already
# present on the partition devices as well as the parent, so no need to
# propagate it. In the case where the partition device points to a different
# filesystem, merging the parent ID_FS_ properties would lead to
# inconsistencies, so we avoid doing so.
ENV{DEVTYPE}=="partition", \
IMPORT{parent}="ID_[!F]*", IMPORT{parent}="ID_", \
IMPORT{parent}="ID_F[!S]*", IMPORT{parent}="ID_F", \
IMPORT{parent}="ID_FS[!_]*", IMPORT{parent}="ID_FS"
# probe filesystem metadata of disks
IMPORT{builtin}="blkid"
# by-label/by-uuid links (filesystem metadata)
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
# by-partlabel/by-partuuid links (partition metadata)
ENV{ID_PART_ENTRY_UUID}=="?*", SYMLINK+="disk/by-partuuid/$env{ID_PART_ENTRY_UUID}"
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="disk/by-partlabel/$env{ID_PART_ENTRY_NAME}"
LABEL="persistent_storage_end"
EOF
The content is gone after the reboot · Issue #55 · RemixVSL/iomemory-vsl · GitHub https://github.com/RemixVSL/iomemory-vsl/issues/55
Fusion-io and OEM Part Numbers Matrix
https://docs.google.com/spreadsheets/d/e/2PACX-1vQMd40liekOCeftUYQx6GeofHgjU5SSDT-jHWid03JCfswQxHAhVee3rW-04baqKg1qN2fp7wEzuFm6/pubhtml
Generally:
- gen1 (iodrive 1) drive will need vsl version 2 - not available anymore
- gen2 (iodrive 2) drive will need vsl version 3
- gen3 (iodrive 3) drive will need vsl version 4
Download driver: http://support.fusionio.com
Manual: http://manuals.ts.fujitsu.com/file/11734/iodrive-ug-linux.pdf
lspci
gen 1
# lspci -n | grep aed 02:00.0 0180: 1aed:1005 (rev 01)
gen 2
# lspci -n | grep aed 07:00.0 0180: 1aed:2001 (rev 04) 08:00.0 0180: 1aed:2001 (rev 04)
gen 3
# lspci -n | grep aed 02:00.0 0180: 1aed:3002