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