Operating System Installation for Cloud

Operating System Installation for Cloud

Masaryk University Faculty of Informatics Operating System Installation for Cloud Bachelor’s Thesis Martin Lacko Brno, Fall 2017 Masaryk University Faculty of Informatics Operating System Installation for Cloud Bachelor’s Thesis Martin Lacko Brno, Fall 2017 This is where a copy of the official signed thesis assignment and a copy ofthe Statement of an Author is located in the printed version of the document. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Martin Lacko Advisor: RNDr. Jan Kasprzak, Ph.D. i Acknowledgements Foremost, special thanks go to RNDr. Jan Kasprzak, PhD. for his advice and guidance, during the writing of this thesis; and also my manager Stanislav Kozina for random tips and tricks. Lastly, I would like to thank my family and friends for their support. iii Abstract This thesis aims to explore methods for virtual machine image cre- ation for Faculty of Informatics private IaaS cloud server. The thesis describes suitability of installed, upgraded and cloud-ready images for Stratus.FI server, focusing on the process of unattended installa- tion, as well as preparing resources for various automated installation software. iv Keywords operating system, installation, cloud, OpenNebula, Stratus.FI v Contents Introduction 1 1 Stratus.FI 3 1.1 Disk Images ..........................3 1.2 Templates ...........................4 1.3 Virtual Networks .......................5 1.4 Contextualization .......................6 1.5 Virtual Machine Template creation ..............7 1.5.1 Template requirements . .7 1.5.2 Installation in Sunstone . .8 1.5.3 Upgrading existing templates . 10 1.5.4 Local Installation . 11 1.5.5 Cloud-based images . 11 2 Linux 13 2.1 Fedora ............................. 13 2.1.1 Installation . 13 2.1.2 Upgrade . 14 2.1.3 Cloud images . 14 2.1.4 CentOS . 15 2.2 Debian ............................. 16 2.2.1 Installation . 16 2.2.2 Upgrade . 18 2.2.3 Cloud images . 18 2.2.4 Ubuntu . 19 2.2.5 Linux Mint . 20 2.3 OpenSUSE .......................... 20 2.3.1 Installation . 21 2.3.2 Upgrade . 21 2.4 ArchLinux ........................... 22 2.4.1 Installation . 22 2.4.2 Cloud images . 24 2.5 Gentoo ............................. 24 3 Microsoft Windows 27 3.1 Installation .......................... 28 vii 3.2 Upgrade ............................ 29 4 FreeBSD 31 4.1 Installation .......................... 31 4.2 Upgrade ............................ 32 5 Conclusion 33 5.1 Future work .......................... 33 Bibliography 35 viii List of Figures 1.1 Non-persistent image lifetime 5 1.2 Debian virtual machine template 6 2.1 Fedora upgrade script 14 2.2 Modifying packages of Linux image 15 2.3 Debian partitioning recipe 18 2.4 Debian upgrade commands 18 2.5 OpenSUSE consensus for the system update 22 2.6 Setting up static IP addresses 23 2.7 Gentoo one-context installation 25 ix Introduction Cloud computing, or cloud, is a model for sharing a pool of computing resources, which allows for the fast deployment of client services with minimal effort (document NIST SP 800-145 [1] which specifies cloud computing was published in the September 2011). Among the most significant benefits of cloud computing in com- parison to dedicated servers are on-demand deployment, allowing a consumer to acquire resources without the necessity for human inter- action; and that, resources can be elastically provisioned and released, even automatically in some cases. From the business point of view, cloud services can be easily moni- tored for automatic control and resource optimisation, as well as usage monitoring and reporting for any monetisation models. Cloud computing can be divided into three primary service models according to the scope of the offered resource environment: ∙ Infrastructure as a service (IaaS) is the most customizable of the three and is able to deploy and run any arbitrary software or operating systems. IaaS sheds the requirement for infrastruc- ture management from the customer and provides computing, storage and/or networking resources, usually in the form of virtual machines. ∙ Platform as a service (PaaS) can most easily be described as a cloud-based middleware for developers and can easily deploy consumer applications created using tools supported by the provider. The underlying infrastructure cannot be modified or controlled by the customer, but rather the emphasis is placed on customisation of the application-hosted environment. ∙ Software as a service (SaaS), or software on-demand, is a provider’s application running on a cloud infrastructure. The application is accessible usually through a thin client interface, such as a web browser. The customer cannot manage the infrastructure or any aspects of the application environment, just a limited set of application configuration settings. 1 Cloud computing can also be differentiated according to access to the services. In short, a private cloud is an infrastructure for the exclusive use of a single organisation; and the public cloud is for open use by the general public, with additional ‘hybrid’ types, somewhere in between or representing a combination of both. Only the infrastructure as a service model allows for the installation of a custom operating system on the provided resources, which is the primary goal of this thesis. There are, naturally, many different open- source IaaS platforms (such as OpenStack, CloudStack, Eucalyptus and others), for private cloud computing infrastructures. OpenNebula is used as a faculty private cloud computing cluster – Stratus.FI. 2 1 Stratus.FI As described on its technical page1, the primary function of Stratus.FI is to provide a quick testing or deployment environment for applica- tions and also to allow students to try out different operating systems. OpenNebula offers a comprehensive user interface in the formof the Sunstone [2, chapter Sunstone Setup], which provides an all-in- one solution for most of the users and is the primary interface of the Stratus.FI server. Because of this, the focus will be on utilising this interface as much as possible. The Sunstone has two views: the more straightforward cloud view and an advanced user view. The view mode can be changed in the user panel (top right corner of the Sunstone interface) and all further work described in this thesis will be in reference to the Sunstone user view. 1.1 Disk Images Images in OpenNebula are designed to hold operating systems or data used by virtual machine instances or shared by users. There are six types of images: ∙ OS: A bootable disk that contains an operating system. Every template must define at least one image of this type. ∙ CDROM: A read-only data format. In terms of this thesis, CDROM images are used as operating system installation media. ∙ DATABLOCK: Data storage. These can be created from virtual machine data or can serve as an empty disk. ∙ CONTEXT: Plain files available on the contextualisation disk, ready to be used as additional configuration files from the cluster. ∙ KERNEL and RAMDISK are specialised plain text files used by vir- tual machines for custom booting. In this thesis, neither of these two types is used in any scenario. 1. https://www.fi.muni.cz/tech/unix/stratus.html.cs 3 1. Stratus.FI KERNEL, RAMDISK and CONTEXT types cannot be used as virtual ma- chine disks, and are listed in the Sunstone interface under files tab. While OS, DATABLOCK and CDROM are created or uploaded through the storage tab or cloned from an existing image. OpenNebula allows for the specification of an image persistence, which must be manually managed during template creation. Operat- ing system installation requires a persistent image which is used to hold an installed operating system, while published templates must use non-persistent disks so that they can be used by multiple users. The differences between persistent and non-persistent images lie in the way they handle changes and in the disk instantiation rules. A persistent disk stores every change for its whole lifetime, but can be used only in one virtual machine instance at a time, whereas non- persistent disks store changes for an instance lifetime only and can be used by multiple virtual machines at once, allowing for the expansion of disk capacity during instantiation and enabling the use of the thin provisioning mechanism. Thin provisioning is a disk storage optimisation method that gives the appearance of more space than currently available, optimizing the efficiency of cloud storage area usage. The whole lifecycle of a non-persistent image is shown in figure 1.1 (copied from documentation page[2, chapter Virtual Machine Im- ages]). 1.2 Templates Templates describe how the virtual machines should be created dur- ing instantiation. As detailed in the official documentation[2, chapter Virtual Machine Templates], a configuration should contain at least a name, capacity, disks and networking settings. OpenNebula templates are in the simple name=value format, al- though XML format is also supported. Templates similar to one de- scribed in figure 1.2 will be used primarily in the virtual machines created for this thesis, should any substantial difference be required for a specific system this will be noted in the text. 4 1. Stratus.FI Figure 1.1: Non-persistent image lifetime 1.3 Virtual Networks A virtual machine cannot be connected directly to a physical network.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    52 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us