diff --git a/content/u/blog/DRAFT-how-i-run-my-budget-ceph-cluster/contents.lr b/content/u/blog/DRAFT-how-i-run-my-budget-ceph-cluster/contents.lr new file mode 100644 index 0000000..fd58ab5 --- /dev/null +++ b/content/u/blog/DRAFT-how-i-run-my-budget-ceph-cluster/contents.lr @@ -0,0 +1,69 @@ +title: How i run my ceph cluster or how you can make a killer storage solutions for almost free +--- +pub_date: 2020-01-08 +--- +author: ungleich +--- +twitter_handle: ungleich +--- +_hidden: yes +--- +_discoverable: no +--- +abstract: +I wanted to store some data data and this is what I've came up with. +--- + +body: + +Low cost, high tech datastorage with ceph +First of all why would you run a ceph cluster? Its complex, a bit time consuming and easier to lose data than using zfs or ext4. +My reasons: +its very easy to expand/shrink +manage all your data/disks from 1 host (can be a security risk too) +its fun +we have it in production and it scales well +unifying the physical + +Step 1 : +Find your local hw dealer. +Second hand sites can be a good source, but good deals are rare. My tactics on ricardo.ch is: server & zubehor, filters: used, auction, max 1,5kchf, sorted with the ending soonest first) link : https://www.ricardo.ch/de/c/server-und-zubehoer-39328/?range_filters.price.max=1527&item_condition=used&offer_type=auction&sort=close_to_end +Nearby dangerous material (ewaste) handler companies can be a goldmine. Big companies cannot just throw used hardware out as regular waste becuse electronics contains a little amount of lead (or some other heavy metal). So big compnies sometimes happy to sell it as a used product for cheap and ewaste companies are happy if they get more money than the recycled price / kg which is very-very low + +low quality (core2duo era) pc-s also suffice, but you wont be able to do erasure coded pools are they use a ton of processing power and ram.. be careful with the ram, if you run out of swap/ram, your osd process will be killed, learnt it the hard way. also sometimes recovery uses more ram than usual so keep some free ram for safety. +Put 10G nics on your shopping list, for performance, its absolutely crucial. I've started without it, and its certainly doable but it wont perform well. A little hack is to pick up gigabit nic cards (as some people give them away for free), and put them in an lacp bond. Note here: lacp doesnt make a single connection's speed better, the benefit is only realized at parallel connections. +If you dont care or have equal disks by size or speed no worries, ceph will happily consume everything you feed to it (except smr disks* or strictly only for frozen data) One hack is to snag some old/low capacity disks for free. If you do everyting right you can surpass ssd speeds with crappy spinning rusts. Worried about disks dying? Just have higher redundancy levels (keep 2 extra copies of your data) +My personal approach is to have coldish data 2 times, hot data like vms 3x and 1 extra copy of both on non-ceph filesystem. +You can also group disks by performance/size. Ideally the disks should be uniform in a ceph device class, and equally distributed between hosts. +Avoid hardware raid, use cards that allow full control for to os over the disks. If you must use hw raid, raid0 is the way. + +Install: +You can check out my ugly install script that meant to bootstrap a cluster on a vm. +tested on an alpine vm with an attached /dev/sdb datablock (don't use legacy ip (ipv4)) + +apk add bash +wget http://llnu.ml/data/ceph-setup +bash ./ceph-setup $ip_address_of_the_machine $subnet_that_you_will_plan_to_use + +Operation: +I've never prepared a disks manually yet which i should definetly review, because Nico wrote amazing helper scripts which can be found in our repo: https://code.ungleich.ch/ungleich-public/ungleich-tools.git +Some scripts still need minor modifications because alpine doesnt ship ceph init scripts yet. For the time being I manage the processes by hand. + +Alpine's vanilla kernel doesnt have rbd support compiled in it atm, but for any kernel that doesnt have the kernel module, just use rbd-nbd to map block devices from you cluster. + + + + +* https://blog.widodh.nl/2017/02/do-not-use-smr-disks-with-ceph/ + +Some useful commands: + + + + +Today we’re at Leipzig, Germany. Last day of [36c3](https://events.ccc.de/category/congress/36c3/), Chaos Communication Congress. + +![](/u/image/xr-green.jpg) + +## The earth is getting hotter + diff --git a/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr b/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr new file mode 100644 index 0000000..dc33598 --- /dev/null +++ b/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr @@ -0,0 +1,73 @@ +title: Visit a zero carbon data center +--- +pub_date: 2020-01-07 +--- +author: Nico Schottelius +--- +twitter_handle: NicoSchottelius +--- +_hidden: no +--- +_discoverable: yes +--- +abstract: +Don't trust us - trust your eyes +--- +body: + +From time to time we get the question "Are you really a zero carbon +data center? How do you proof it?". + +As we use a local hydro power plant and local solar panels, we don't +have CO2 compensation certificates, because, well, we don't +compensate, but don't emit in the first place. + +## Don't take our word + +But why should you believe us? Maybe all those nice pictures we post +are just taken from a stock photograph website? And the answer is: +You don't need to. + +## Inspect yourself + +Instead of believing us, we invite you to visit us, +the [Data Center Light](/u/projects/data-center-light/) in the heart +of [Digital Glarus](/u/projects/digital-glarus/). We invite you to +visit, to take pictures, to convince yourself. To post the pictures +and to share it. + +To have a look at the hydro power plant (its loud!), the solar panels +(luckily not loud) and the server infrastructure. You will not +even find any cooling mechanism, because we don't cool our servers. + +## Visit and stay + +If just visiting to find out whether or not our claim is true sounds +like wasting a lot of resources, then why don't you even stay with us +and work or relax? + +We can provide you with a place to sleep and stay over in the +[Hacking Hotel](/u/projects/hacking-hotel/) or the +[Digital Chalet](/u/projects/digital-chalet/), where you can work with +a 10 Gbit/s connection that goes directly to the data center. + + +## Why? + +Here at ungleich we believe that full transparency is required to +establish trust. This is also why we launched the +[Open Infrastructure +project](https://redmine.ungleich.ch/projects/open-infrastructure/wiki), +which describes our internal infrastructure. This is also why Data +Center Light is solely based on Open Source Software. + +And on top of all of this, we think that Glarus is already worth a +visit just for enjoying the very pretty view. Glarus is a lot like a +fairy tale, just in reality. + +## How to visit + +Just reach out to us by email (info at ungleich.ch), +[chat](https://chat.ungleich.ch) or +[twitter](https://twitter.com/ungleich) and we will share information +of how and when to best reach us with you. diff --git a/content/u/products/colocation/contents.lr b/content/u/products/colocation/contents.lr new file mode 100644 index 0000000..db31ff2 --- /dev/null +++ b/content/u/products/colocation/contents.lr @@ -0,0 +1,88 @@ +title: Colocation +--- +link: +--- +_discoverable: yes +--- +_hidden: no +--- +subtitle: Your space in Data Center Light +--- +feature1_title: Renewable Energy +--- +feature1_text: Your hardware is fully powered by renewable energy. + +--- +feature2_title: Located in Switzerland +--- +feature2_text: Our data center locations are based in Glarus in the +middle of Switzerland. Not only is it one of the safest places on +earth, it is also naturally cool. + +--- +feature3_title: Customisable +--- +feature3_text: Your colocation can be fully customised to your +needs. Space, connectivity, IPv4 and IPv6 addresses can be freely configured. +--- +description2: + +At [Data Center Light](/u/projects/data-center-light) we don't use +traditional racks. Instead we give each server enough space (on +average 4m² surrounding area). This way we don't need to actively cool. + +## How it works + +If you want to bring your own hardware, you can select from the +following options: + +## Space + +For one server we provide you with 1m² of physical shelf space. We +call this our "base unit". +Your server can be 1U, 2U or even 4U high. Contact us for special sizes. + +We expect your server to not create more warmth than 3000 BTU/h. If it +produces more heat, you will need to add more base units. + +## Electricity + +Your electricity usage is monitored and charged monthly. The price for +electricity is 0.2 CHF/kWh. + +## Connectivity + +We offer 3 levels of connectivity: + +* 10 Mbit/s (burstable 1000 Mbit/s) - 15 CHF/month +* 100 Mbit/s (burstable 1000 Mbit/s) - 75 CHF/month +* 1000 Mbit/s - 400 CHF/month + +10 and 100 Mbit/s are calculated on the 95% rule. +Most customers select the 100 Mbit/s option. +Bandwidth exceeding the booked tarif is charged at 2.5 CHF/Mbps. + +You get a multi mode fiber cable (850nm transceivers) to your shelf. + +## IP addresses + +* Colocation includes a /48 IPv6 network for free +* IPv4 addresses are provided using NAT64 for 9 CHF/IPv4 address/month + +## Setup Fee + +The one time setup fee is 100 CHF. It includes configuring a VLAN +dedicated for you and adding routing to your own network. + +## Sample calculations + +* 1 base unit, 100 Mbit, /48 IPv6, no IPv4 = 50 + 75 = 125 CHF/month +* 2 base units, 100 Mbit, /48 IPv6, 2 IPv4 addresses = 2*50 + 75 + 2*9 = 193 CHF/month +* 4 base units, 100 Mbit, /48 IPv6, 40 IPv4 addresses = 4*50 + 75 + 40*9 = 635 CHF/month +* 4 base units, 1000 Mbit/s, /48 IPv6, no IPv4 = 4*50 + 400 = 600 CHF/month + +## Fine print + +All prices listed as usual without vat. + +--- diff --git a/content/u/products/django-hosting/contents.lr b/content/u/products/django-hosting/contents.lr new file mode 100644 index 0000000..e6636ad --- /dev/null +++ b/content/u/products/django-hosting/contents.lr @@ -0,0 +1,62 @@ +_discoverable: no +--- +_hidden: no +--- +title: Django Hosting +--- +subtitle: Hassle free Django hosting +--- +feature1_title: Proven over years +--- +feature1_text: Here at ungleich we do not only provide django hosting +as a service, but we also run Django instances and we provide +customers with Django based services. +--- +feature2_title: Scalable +--- +feature2_text: With our django hosting you can grow as needed. You +can start with a small sites, including development, testing or +staging systems and later grow to full production systems including +backup. +--- +feature3_title: Sustainable & Carbon free +--- +feature3_text: Because our Django hosting runs inside +[Data Center Light](/u/projects/data-center-light), you can run your +application with a good conscience and without emitting extra carbon. + +--- +content1_text: +## Development flow + +The below diagram gives an overview of a typical development flow with +our Django hosting: + +--- +content1_image: djangohosting.svg +--- +description2: + +## How it works + +## Components + +Our Django hosting consists of 1-2 virtual machines and an optional +backup. Our customers often start with a development system + + +We strongly recommend to develop Django (like any other application) +with a version control system, even if you are just a single +developer. You can even use the [ungleich code +repository](https://code.ungleich.ch) for free +(you only need to [register an account](https://account.ungleich.ch)). + + +## Pricing + +* Setup fee is 35 CHF +* Monthly fee is 20 CHF + price of the VM + * Typical development VM: 1 cores, 2 GB RAM, 10 GB SSD + * Typical small prod VM: 2 cores, 4 GB RAM, 20 GB SSD + * Typical default prod VM: 4 cores, 8 GB RAM, 50 GB SSD +* All VMs can be extended with extra HDD space diff --git a/content/u/products/django-hosting/djangohosting.svg b/content/u/products/django-hosting/djangohosting.svg new file mode 100644 index 0000000..b752bec --- /dev/null +++ b/content/u/products/django-hosting/djangohosting.svg @@ -0,0 +1,147 @@ + + + + + + +G + + +cluster_local + + + +cluster_production_datacenter + +First data center + + +cluster_production + +Production environment + + +cluster_staging + +Staging environment + + +cluster_offsite + +Second data center + + + +editor + +Local editor + + + +git + +Local version control + + + +editor->git + + + + + +localweb + +Development webserver + + + +editor->localweb + + + + + +repo + +Code repository +(f.i. git) + + + +git->repo + + + + + +prodvm + +Production Server +uwsgi,nginx,postgres + + + +backupvm + +Backup server + + + +prodvm->backupvm + + +Daily backup + + + +repo->prodvm + + +Deploy after staging + + + +stagingvm + +Staging Server + + + +repo->stagingvm + + +Pre prod deployment + + + +monitoring + +Monitoring server + + + +monitoring->prodvm + + +Verify operation +and alert on failure + + + +monitoringmonitor + +Monitoring server + + + +monitoringmonitor->monitoring + + +Monitor the monitoring service + + +