Fusion-io/Linux: Difference between revisions
No edit summary |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== | == ReadMe == | ||
RemixVSL v3: | RemixVSL v3: | ||
Line 9: | Line 9: | ||
Readme: | Readme: | ||
https://github.com/RemixVSL/iomemory-vsl/blob/main/README.md | https://github.com/RemixVSL/iomemory-vsl/blob/main/README.md | ||
== Ubuntu == | |||
Debian/Ubuntu Dependencies: | Debian/Ubuntu Dependencies: | ||
sudo apt-get install gcc fakeroot build-essential debhelper linux-headers-$(uname --r) rsync | 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: | Download Source: | ||
Line 18: | Line 56: | ||
cd iomemory-vsl/ | cd iomemory-vsl/ | ||
Manually: | Manually (good for testing only): | ||
make module | make module | ||
sudo insmod root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.ko | sudo insmod root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.ko | ||
Line 29: | Line 67: | ||
sudo apt-get install dkms | sudo apt-get install dkms | ||
sudo make 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: <ref>https://github.com/RemixVSL/iomemory-vsl4/wiki#using-as-a-block-device-in-ceph</ref> | |||
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 | |||
<pre> | |||
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 | |||
</pre> | |||
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 == | == Fusion-io and OEM Part Numbers Matrix == | ||
https://docs.google.com/spreadsheets/d/e/2PACX-1vQMd40liekOCeftUYQx6GeofHgjU5SSDT-jHWid03JCfswQxHAhVee3rW-04baqKg1qN2fp7wEzuFm6/pubhtml | https://docs.google.com/spreadsheets/d/e/2PACX-1vQMd40liekOCeftUYQx6GeofHgjU5SSDT-jHWid03JCfswQxHAhVee3rW-04baqKg1qN2fp7wEzuFm6/pubhtml | ||
Latest revision as of 05:57, 26 January 2024
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