diff options
Diffstat (limited to 'src/seastar/kvm/README.md')
-rw-r--r-- | src/seastar/kvm/README.md | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/seastar/kvm/README.md b/src/seastar/kvm/README.md new file mode 100644 index 000000000..0cf65477c --- /dev/null +++ b/src/seastar/kvm/README.md @@ -0,0 +1,55 @@ +# seastar-in-kvm +Create a VM for Seastar development environment + +# Why we need this +SeaStar scores muximum performance with DPDK, but it cannot live with existing NIC driver/Linux kernel network stack. +Also it directly accesses NIC device, it's bit hard to try it on remote node. + +seastar-in-kvm offers Fedora VM with SeaStar + DPDK without setup, it's easiest way to begin SeaStar application development. + +### Prerequire + +On Fedora 21: +``` +yum install @virtualization +systemctl enable libvirtd +systemctl start libvirtd +yum install libguestfs-tools-c virt-install +``` + +### How to build & run +``` +./build.sh +./register.sh +virsh start seastar-dev && virsh console seastar-dev +(Try login as 'seastar' after firstboot.sh finished, Fedora will ask new password for the user) +``` + +### Usage of the VM + +Wait until finish running setup script on first startup. +Then login as 'seastar', login prompt will ask for entering new password. + +After login to seastar, initialize DPDK module by following instruction: +``` +sudo su - # entering root user +resize # extend console to actual terminal window size +export TERM=xterm-256color # set terminal type +cd ~/dpdk +./tools/setup.sh + +# input numbers by following order: +(type 9 to re-compile DPDK) +(type 12 to insert IGB UIO module) +(type 15, then input "64" to setup hugepage mappings) +(type 18, then input PCI device id something like "0000:xx:yy.z", +which is shown at 'Network devices using DPDK-compatible driver') +(type 30 to exit) + +cd ~/seastar +# httpd example +env LD_LIBRARY_PATH=~/dpdk/x86_64-native-linuxapp-gcc/lib/ \ +./build/release/apps/httpd/httpd --network-stack native --dpdk-pmd --csum-offload off +``` + + |