Master 2018 2019
Stages de la spécialité SAR
Support ZFS natif dans XCP-ng


Lieu : Vates SAS, 17 rue Aime Berey, 38000 GRENOBLE
Encadrant : Olivier Lambert, PDG et fondateur de Vates, créateur de Xen Orchestra et XCP-ng
Dates :Au choix dans l’intervalle du 11 février au 6 septembre
Rémunération :1200€
Mots-clés : Master SAR, autre qu’ATIAM

Description

> Note : embauche possible à l’issue du stage

> Note 2 : complémentaire du premier sujet de stage sur la nouvelle couche de stockage, travail probable en collaboration.

# Context

XCP-ng is a fork of Citrix XenServer. It’s fully Open Source and all your work will be available publicly. There is a large community of users.

More on https://xcp-ng.org

# Fully integrated ZFS support

ZFS is a combined file system and logical volume manager designed by Sun Microsystems. Sine it’s ported to Linux (via ZFS on Linux project), it could be integrated more easily into a broader ecosystem.

## Problem

Legacy storage stack of XS/XCP-ng isn’t build at all to deal with filesystem like ZFS : for example, O_DIRECT calls aren’t supported by ZFS, but used everywhere in the storage stack. Removing them "as is" can lead to cache poisoning and destroy all the performances.

## Architecture

Full ZFS support could be really powerful, eg to support ZFS snapshots directly, ZVOL and other ZFS features, from existing XAPI calls (VDI.snapshot). Obviously, there is a lot of chances that using SMAPIv3 would be smarter than building something new on a legacy storage stack.

The challenge is to expose all these features correctly in a "driver", without forgetting compatibility for other SR features (export/import, thin provisioning) and so on. However, an initial PoC with some benchmarks, even maybe comparing legacy vs SMAPIv3 would validate the technological choice.

## Skills required

* basic ZFS knowledge (basic commands, ZVOLs, snapshots) * basic Python knowledge (writing storage plugin for ZFS) * basic Linux storage knowledge (cache, storage benchmarking…)