GYAN GANGA INSTITUTE OF TECHNOLOGY AND SCIENCES, JABALPUR DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LAB MANUAL Cloud Computing(CS-804) NAME: ENROLLMENT NUMBER: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Sr. No . Topics/Sub Topics 1 Installation and configuration of Hadoop/Euceliptus etc. 3 Service deployment & Usage over cloud. 3 Management of cloud resources. 4 Using existing cloud characteristics & Service models . 5 Cloud Security Management. 6 Performance evaluation of services over cloud . 7 8 Install VMWare and create a virtual machine on Windows/linux. Install HyperV and create a virtual machine, DNS Server creation, Active directory on Windows Server 2008. 9 Install XEN and create a virtual machine on linux. 10 VNC Server configuration on linux. 11 Creating virtual machine on Microsoft Windows Azure. Date Grade Signature Remark Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Experiment -1 Objective: Installation and configuration of Hadoop/Euceliptus etc A. Installation and Configuration of Hadoop Requirement:.Java 1.6, Eclipse Europa 3.3.2,Cygwin. Introduction :Hadoop is a powerful framework for automatic parallelization of computing tasks. Unfortunately programming for it poses certain challenges. It is really hard to understand and debug Hadoop programs. One way to make it a little easier is to have a simplified version of the Hadoop cluster that runs locally on the developer's machine. This tutorial describes how to set up such a cluster on a computer running Microsoft Windows. It also describes how to integrate this cluster with Eclipse, a prime Java development environment. Prerequisites Before we begin, make sure the following components are installed on your workstation: Java 1.6 Eclipse Europa 3.3.2 This tutorial has been written for and tested with Hadoop version 0.19.1. If you are using another version, some things may not work. Make sure you have exactly the same versions of the software as shown above. Hadoop will not work with versions of Java earlier than 1.6 and versions of Eclipse later than 3.3.2 due to plug-in API incompatibility. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Installing Cygwin After installing the prerequisite software, the next step is to install the Cygwin environment. Cygwin is a set of Unix packages ported to Microsoft Windows. It is needed to run the scripts supplied with Hadoop because they are all written for the Unix platform. To install the cygwin environment follow these steps: 1. Download cygwin installer from http://www.cygwin.com. 2. Run the downloaded file. You will see the window shown on the screenshots below. Cygwin Installer Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When you see the above screenshot, keep pressing the 'Next' button until you see the package selection screen shown below. Make sure you select 'openssh'. This package is required for the correct functioning of the Hadoop cluster and Eclipse plug-in. 4. After you selected these packages press the 'Next' button to complete the installation. Set Environment Variables The next step is to set up the PATH environment variable so that Eclipse IDE can access Cygwin commands here To set environment variables follow these steps: 1. Find "My Computer" icon either on the desktop or in the start menu, right-click on it and select Properties item from the menu. 2. When you see the Properties dialog box, click on the Environment Variables button as shown below Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When Environment Variables dialog shows up, click on the Path variable located in the System Variables box and then click the Edit button. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. When Edit dialog appears append the following text to the end of the Variable value field: ;c:\cygwin\bin;c:\cygwin\usr\bin Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Note: If you installed cygwin in the non-standard location, correct the above value accordingly. 5. Close all three dialog boxes by pressing OK button of each dialog box. Setup SSH daemon Both Hadoop scripts and Eclipse plug-in need password-less SSH to operate. This section describes how to set it up in the Cygwin environment. Configure ssh daemon 1. Open the Cygwin command prompt. 2. Execute the following command: ssh-host-config Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When asked if privilege separation should be used, answer no. 4. When asked if sshd should be installed as a service, answer yes. 5. When asked about the value of CYGWIN environment variable, enterntsec. 6. Here is an example session of this command. Note that the input typed by the user is shown in pink and output from the system is shown in gray. Example of using ssh-host-config Start SSH daemon 1. Find My Computer icon either on your desktop or in the start-up menu, right-click on it and select Manage from the context menu. 2. Open Services and Applications in the left-hand panel then select the Services item. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. Find the CYGWIN sshd item in the main section and right-click on it. 4. Select Start from the context menu. Start SSHD service A small window should pop-up indicating the progress of the service start-up. After that window disappears the status of CYGWIN sshd service should change to Started. Setup authorization keys Eclipse plug-in and Hadoop scripts require ssh authentication to be performed through authorization keys rather than passwords. The following steps describe how authorization keys are set up. 1. Open cygwin command prompt 2. Execute the following command to generate keys ssh-keygen Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When prompted for filenames and pass phrases press ENTER to accept default values. 4. After the command has finished generating keys, enter the following command to change into your .ssh directory: cd ~/.ssh 5. Check if the keys were indeed generated by executing the following command: ls -l You should see two files id_rsa.pub andid_rsawith recent creation dates. These files contain authorization keys. 6. To register the new authorization keys enter the following command (note the sharplyangled double brackets -- they are very important): cat id_rsa.pub >>authorized_keys Setting up authorization keys Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 7. Now check if the keys were set up correctly by executing the following command: ssh localhost Since it is a new ssh installation, you will be warned that authenticity of the host could not be established and will be asked whether you really want to connect. Answer yes and press ENTER. You should see the Cygwin prompt again, which means that you have successfully connected. 8. Now execute the command again: ssh localhost This time you should not be prompted for anything. Download, Copy and Unpack Hadoop The next step is to download and copy the Hadoop distribution. Download hadoop 0.19.1 and place in some folder on your computer such as C:\Java. 1. Open Cygwin command prompt. 2. Execute the following command: cd 3. Execute the following command to enable your home directory folder to be shown in the Windows Explorer window: explorer . Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Open another Explorer window and navigate to the folder that contains the downloaded Hadoop archive. 5. Copy the Hadoop archive into your home directory folder. Unpack Hadoop Installation The next step is to unpack the downloaded and copied package. To unpack the package follow these steps: 1. Open a new Cygwin window. 2. After the new Cygwin window appears, execute the following command: tar -xzf hadoop-0.19.1.tar.gz This will start unpacking the Hadoop distribution. After several minutes you should see a new Cygwin prompt again as shown in the screenshot below: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When you see the new prompt, execute the following command: ls -l This command will list the contents of your home directory. You should see a newly created directory called hadoop-0.19.1 4. Next execute the following commands: cd hadoop-0.19.1 ls -l If you get output similar to the following, everything was unpacked correctly and you can go to the next step. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering total 4145 -rw-r--r-- 1 vladNone 295315 Feb 19 19:13 CHANGES.txt -rw-r--r-- 1 vlad None 11358 Feb 19 19:13 LICENSE.txt -rw-r--r-- 1 vlad None 101 Feb 19 19:13 NOTICE.txt -rw-r--r-- 1 vlad None 1366 Feb 19 19:13 README.txt drwxr-xr-x+ 2vlad None 0 Feb 26 05:41 bin -rw-r--r-- 1 vlad None 58440 Feb 19 19:13 build.xml drwxr-xr-x+ 4vlad None 0 Feb 19 19:18 c++ drwxr-xr-x+ 2vlad None 0 Mar 10 13:46 conf drwxr-xr-x+ 12 vlad None drwxr-xr-x+ 7vlad None 0 Feb 19 19:12 contrib 0 Feb 26 05:41 docs -rw-r--r-- 1 vlad None 6839 Feb 19 19:12 hadoop-0.19.1-ant.jar Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering -rw-r--r-- 1 vlad None 2384306 Feb 19 19:18 hadoop-0.19.1-core.jar -rw-r--r-- 1 vladNone 134119 Feb 19 19:12 hadoop-0.19.1-examples.jar -rw-r--r-- 1 vlad None 1276792 Feb 19 19:18 hadoop-0.19.1-test.jar -rw-r--r-- 1 vlad None 52295 Feb 19 19:12 hadoop-0.19.1-tools.jar drwxr-xr-x+ 4vlad None 0 Feb 26 05:41 lib drwxr-xr-x+ 3vlad None 0 Feb 26 05:41 libhdfs drwxr-xr-x+ 2vlad None 0 Feb 26 05:41 librecordio drwxr-xr-x+ 4vlad None 0 Mar 10 13:46 logs drwxr-xr-x+ 15 vlad None 0 Feb 26 05:41 src -rwxr-xr-x 1 vlad None 1079 Mar 1 16:41 testProj.jar drwxr-xr-x+ 8vlad None 0 Feb 19 19:12 webapps Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Configure Hadoop Now that Hadoop has been unpacked, we are ready to configure it. 1. Open a new Cygwin window and execute the following commands: cd hadoop-0.19.1 cd conf explorer . Bringing up explorer window 1. The last command will cause the Explorer window for the 'conf' directory to pop up. Minimize it for now or move it to the side. 2. Launch Eclipse. 3. Bring up the 'conf' Explorer window opened in Step 2 and drag the file hadoop-site to the Eclipse main window. 4. Insert the following lines between<configuration>and </configuration> tags. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 5. <property> 6. <name>fs.default.name</name> 7. <value>hdfs://localhost:9100</value> 8. </property> 9. <property> 10. <name>mapred.job.tracker</name> 11. <value>localhost:9101</value> 12. </property> 13. <property> 14. <name>dfs.replication</name> 15. <value>1</value> 16. </property> Editing site configuration file Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 17. Close the Eclipse, Cygwin command and Explorer windows. Format the namenode Next step is to format the Namenode to create a Hadoop Distributed File System (HDFS). 1. Open a new Cygwin window. 2. Execute the following commands: cd hadoop-0.19.1 mkdir logs bin/hadoopnamenode -format Format the namenode 3. The last command will run for some time and produce output similar to that shown below: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Hadoop Distributed File System created. Now that the filesystem has been created you can proceed to the next step. Install Hadoop plug-in The next step is to install and check the Hadoop plug-in for Eclipse. 1. Open a new Cygwin window and execute the following commands: cd hadoop-0.19.1 cd contrib cd eclipse-plugin explorer . Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Navigate to Hadoop eclipse plugin folder 2. Shrink the newly popped window and move it to the right of the screen. 3. Open another Explorer window either through "My Computer" icon or by using the "Start -> Run" menu. Navigate to the Eclipse installation and open the "plugins" folder. 4. Copy the file "hadoop-0.19.1-eclipse-plugin.jar" from the Hadoop eclipse-plugin folder to the Eclipse plugins folder as shown in the figure below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Copy Hadoop Eclipse Plugin 5. Close both explorer windows 6. Start Eclipse 7. Click on the open perspective icon, which is usually located in the upper-right corner the eclipse application. Then select Other from the menu. 8. Select Map/Reduce from the list of perspectives and press "OK" button. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 9. As a result your IDE should open a new perspective that looks similar to the image below. Eclipse Map/Reduce Perspective Now that the we installed and configured hadoop cluster and eclipse plugin i's a time to test the setup by running a simple project. Start the local hadoop cluster Next step is to launch the newly configured cluster. 1. Close all the windows on the desktop, open five Cygwin windows and arrange them as shown below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. Start the namenode in the first window by executing: cd hadoop-0.19.1 bin/hadoopnamenode 3. Start the secondary namenode in the second window by executing: cd hadoop-0.19.1 bin/hadoopsecondarynamenode 4. Start the job tracker the third window by executing: cd hadoop-0.19.1 bin/haoopjobtracker Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 5. Start the data node the fourth window by executing: cd hadoop-0.19.1 bin/haoopdatanode 6. Start the task tracker the fifth window by executing: cd hadoop-0.19.1 bin/haooptasktracker 7. Now you should have an operational hadoop cluster. If everthing went fine your screen should look like the image below: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering At this point the cluster is running and you can proceed to the next step. Setup Hadoop Location in Eclipse Next step is to configure Hadoop location in the Eclipse environment. 1. Launch the Eclipse environment. 2. Open Map/Reduce perspective by clicking on the open perspective icon ( ), select "Other" from the menu, and then select "Map/Reduce" from the list of perspectives. 3. After switching to the Map/Reduce perspective, select the Map/Reduce Locations tab located at the bottom of the Eclipse environment. Then right click on the blank space in that tab and select "New Hadoop location...." from the context menu. You should see a dialog box similar to the one shown below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Setting up new Map/Reduce location 4. Fill in the following items, as shown on the figure above. o Location Name -- localhost o Map/Reduce Master o o Host -- localhost Port -- 9101 DFS Master Check "Use M/R Master Host" Port -- 9100 User name -- User Then press the Finish button. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 5. After closing the Hadoop location settings dialog you should see a new location in the "Map/Reduce Locations" tab. 6. In the Project Explorer tab on the left hand side of the Eclipse window, find the DFS Locations item. Open it using the "+" icon on its left. Inside, you should see the localhost location reference with the blue elephant icon. Keep opening the items below it until you see something like the image below. 7. Browsing HDFS location You can now move on to the next step. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Upload data to HDFS We are now ready to run the first Map/Reduce project but data is still missing. This section explains how to upload data to the Hadoop Distributed File System (HDFS). Upload Files To HDFS 1. Open a new CYGWIN command window. 2. Execute the following commands in the new CYGWIN window as shown on the image above. cd hadoop-0.19.1 bin/hadoop fs -mkdirIn bin/hadoop fs -put *.txt In Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering When the last of the above commands starts executing, you should see some activity in other Hadoop windows as shown in the image below. The result of these commands is a newly created directory -- named In -- in the HDFS which contains a set of text files that comes with the Hadoop distribution. 3. Close the Cygwin Window. Verify if the files were uploaded correctly In this section we will check if the files were uploaded correctly. 1. Open the Eclipse environment. 2. Open DFS locations folder which is located in the Project Explorer tab of Map/Reduce perspective. 3. Open localhost folder in DFS locations folder. 4. Keep opening HDFS folders until you navigate to the newly created Indirectory, as shown in the image below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Verifying that the data was uploaded correctly 5. When you get to the In directory, double-click on the file LICENCE.txt to open it. 6. If you see something similar to the image above then the data was uploaded correctly and you can proceed to your first Hadoop project. Now move on to the next step. Create and run Hadoop project Now we are ready to create and run out first Hadoop project. Creating and configuring Hadoop eclipse project. 1. Launch Eclipse. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. Right-click on the blank space in the ProjectExplorer window and select New ->Project.. to create a new project. 3. Select Map/Reduce Project from the list of project types as shown in the image below. 4. Press the Next button. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 5. You will see the project properties window similar to the one shown below 6. Fill in the project name and click on Configure Hadoop Installation link on the right hand side of the project configuration window. This will bring up the project Preferences window shown in the image below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 7. In the project Preferences window enter the location of the Hadoop directory in the Hadoop installation directory field as shown above. If you are not sure of the location of the Hadoop home directory, refer to Step 1 of this section. Hadoop home directory is one level up from the conf directory. 8. After entering the location close the Preferences window by pressing the OK button. Then close the Project window with the Finish button. 9. You have now created your first Hadoop Eclipse project. You should see its name in the Project Explorer tab. Creating Map/Reduce driver class 1. Right-click on the newly created Hadoop project in the Project Explorer tab and select New-> Other from the context menu. 2. Go to the Map/Reduce folder, select MapReduceDriver, then press the Next button as shown in the image below. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. When the MapReduce Driver wizard appears, enter TestDriver in the Name field and press the Finish button. This will create the skeleton code for the MapReduce Driver. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Unfortunately the Hadoop plug-in for Eclipse is slightly out of step with the recent Hadoop API, so we need to edit the driver code a bit. Find the following two lines in the source code and comment them out: conf.setInputPath(new Path("src")); conf.setOutputPath(new Path("out")); Enter the following code immediatly after the two lines you just commented out (see image below): conf.setInputFormat(TextInputFormat.class); conf.setOutputFormat(TextOutputFormat.class); Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering FileInputFormat.setInputPaths(conf, new Path("In")); FileOutputFormat.setOutputPath(conf, new Path("Out")); 5. After you have changed the code, you will see the new lines marked as incorrect by Eclipse. Click on the error icon for each line and select Eclipse's suggestion to import the missing class. You need to import the following classes: TextInputFormat, TextOutputFormat, FileInputFormat, FileOutputFormat. 6. After the missing classes are imported you are ready to run the project. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Running Hadoop Project 1. Right-click on the TestDriver class in the Project Explorer tab and select Run As --> Run on Hadoop. This will bring up a window like the one shown below. 2. In the window shown above select "Choose existing Hadoop location" , then select localhost from the list below. After that click Finish button to start your project. 3. If you see console output similar to the one shown below, Congratulations! You have started the project successfully! Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering B. Installation and configuration of Euceliptus etc. Introduction:-Eucalyptus produces open source software for building AWS-compatible private and hybrid clouds. Eucalyptus leverages your existing IT infrastructure to create a self-service private cloud behind your firewall. Infrastructure as a Service (IaaS) is enabled with the private cloud by abstracting the available heterogeneous compute, network, and storage resources. Once deployed into production, Eucalyptus creates an elastic resource pool that can dynamically scale up or down depending on application workload demands. With an agreement with Amazon Web Services™ (AWS) to maintain fidelity on API compatibility, Eucalyptus is uniquely positioned to deliver hybrid cloud capability between AWS and Eucalyptus environments. The benefits are increased organizational agility, highly efficient scalability, and increased trust and control for IT. What’s New in Eucalyptus 3.3 Eucalyptus 3.3 is now available, and the addition of new AWS-compatible features make it the ideal solution for developing and testing applications built for AWS. With a Eucalyptus private cloud, you can shorten delivery cycles and accelerate time to market by providing a standardized and consistent environment that spans both private and public clouds. Learn more about what’s new in Eucalyptus. Self-service Infrastructure as a Service (IaaS) Eucalyptus supports multiple approaches for self-service IaaS. The web-based Eucalyptus User Console provides IaaS users safe access to requesting and provisioning cloud resources and images. Similarly, Eucalyptus partners can provide integrated self-service portals and cloud service management to support users. The Eucalyptus platform also provides a robust collection of web services for developers to build custom self-service interfaces. Resource Administration and Console Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering The Eucalyptus Dashboard provides cloud administrators with a graphical console for performing several cloud management tasks, including all virtual and physical resource management and virtual cloud resource configuration, provisioning, de-provisioning and reporting. Automated Cloud Installation Eucalyptus can be deployed quickly with an automated installation and guided configuration of cloud components. The cloud installs all systems from a single ISO image with multiple install modes which are selectable at boot time. The automated process reduces the chances of errors and drastically reduces installation time, allowing administrators to spend less time on deploying and more time on using the cloud. High Availability for Cloud Components Eucalyptus can be configured as a High Availability (HA) deployment to maximize the reliability of your cloud using hot failover and repair mechanisms. In a Eucalyptus with HA deployment, each cloud component is replicated and deployed as an active-passive service. This includes the main cloud components such as the Cloud Controller, Cluster Controller, Walrus, VMware Broker and Storage Controller. In the event of a failure of an active cloud component that manages the resource pools, the passive service component will take over the management control seamlessly to allow continuous operation. Multiple Machine Image Support Organizations can run multiple versions of Windows and Linux virtual machine images on Eucalyptus. Likewise, Amazon Machine Images (AMIs) are also compatible with Eucalyptus. VMware Images and vApps can be converted to run on Eucalyptus. You can build a library of Eucalyptus Machine Images (EMIs) with application metadata that are decoupled from infrastructure details to allow them to run on Eucalyptus clouds as well as on the AWS public cloud. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Heterogeneous Hypervisor Management You can build and manage mixed hypervisor cluster environments in an IaaS cloud, and manage existing vSphere™, ESXi™, and KVM as AWS-compatible Eucalyptus hybrid clouds. Robust SAN Integration Eucalyptus includes support for SAN devices from NetApp, Dell and EMC that can be easily configured to take advantage of storage arrays to improve performance and reliability, dynamic allocation, and de-allocation for storage elasticity. Eucalyptus Machine Images can be backed by Amazon EBS-like persistent storage volumes, improving the performance of image launch time and enabling fully-persistent virtual machine instances. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Enterprise-Ready Identity Management User identity management is supported within Eucalyptus with capabilities to control virtual resource pools using fine-grained Role-Based Access Control mechanisms for each resource pool. Eucalyptus user identity management can be integrated with existing Microsoft Active Directory or LDAP systems. Eucalyptus identity management interfaces are also compatible with the Amazon Web Services IAM API. Flexible Accounting, Chargeback and Quota Management Define and allocate resource quotas for your users and groups with Eucalyptus’ quota management features. Control resource allocation across clusters, defined by users and groups. Cloud Usage Reporting and Pattern Analysis Leverage Eucalyptus resource accounting to analyze your cloud usage patterns. Compute and storage usage data are available in various formats for visualization, reporting and analysis by business systems for both enterprises and for integration with chargeback and billing platforms. About Eucalyptus Systems Eucalyptus Systems provides progressive IT organizations with the leading open source software for building AWS-compatible private and hybrid clouds. Eucalyptus supports industry-standard AWS APIs, including EC2, S3, EBS, IAM, Auto Scaling, Elastic Load Balancing, and CloudWatch. By providing an open path to cloud computing, Eucalyptus is dedicated to the success of its active and rapidly growing ecosystem of customers, partners, developers and researchers. Install on RHEL 5 If you plan to install Eucalyptus HA, we recommend that you install each Eucalyptus component on a separate host. For example, if you are installing CLC, Walrus, CC, and SC, you will install each of these components on a separate host. You will also install each secondary component (the secondary CLC, Walrus, CC, and SC) on a separate host. In this case, you will need eight machines. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Each additional cluster needs four more machines for its CCs and SCs. This does not account for NCs, which are not redundant. To install Eucalyptus on servers running RHEL 5: 1. Enable the Cluster-Storage repository in Red Hat Network for each planned SC: a. Go to https://rhn.redhat.com/rhn/systems/SystemList.do b. Navigate to the system that will run the SC. c. Click the Alter Channel Subscriptions link. d. Ensure that the RHEL Cluster-Storage checkbox is checked. e. Click Change Subscriptions. 2. Enable the Virtualization repository in Red Hat Network for each planned NC: a. Go to https://rhn.redhat.com/rhn/systems/SystemList.do b. Navigate to the system that will run the NC. c. Click the Alter Channel Subscriptions link. d. Ensure that the RHEL Virtualization checkbox is checked. e. Click Change Subscriptions. 3. On each planned Walrus server, create a file in /etc/yum.repos.d called centos-extras.repo with the following content: 4. [centos-extras] 5. name=CentOS 5 - Extras 6. mirrorlist=http://mirrorlist.centos.org/?release=5&arch= 7. $basearch&repo=extras 8. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 gpgcheck=1 Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 9. Download the key that CentOS uses to sign their packages: curl http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 > /etc/pki/rpm-gpg/RPMGPG-KEY-CentOS-5 10. Configure the Euca2ools package repository on each host that will run a Eucalyptus component or Euca2ools: rpm -Uvh http://downloads.eucalyptus.com/software/euca2ools/2.1/rhel/5/x86_64/euca2ools-release2.1.noarch.rpm 11. Configure the Eucalyptus package repository on each host that will run a Eucalyptus component: rpm -Uvh http://downloads.eucalyptus.com/software/eucalyptus/3.1/rhel/5/x86_64/eucalyptusrelease-3.1.noarch.rpm 12. Configure the EPEL package repository on each host that will run a Eucalyptus component or Euca2ools: rpm -Uvh http://downloads.eucalyptus.com/software/eucalyptus/3.1/rhel/5/x86_64/epelrelease-5.noarch.rpm 13. If you have a Eucalyptus subscription, you will have received a package that grants you access to VMware and SAN components. If you wish to use either of these components, install this package on each host that will run a Eucalyptus component using the following command. Otherwise, skip this step. rpm -Uvh yum install eucalyptus-enterprise-release-3.1*.noarch.rpm Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 14. If your planned Walrus host runs a Xen kernel, install the kmod-drbd83-xen package on that host. Otherwise, skip this step. yum install kmod-drbd83-xen 15. Install the Eucalyptus cloud controller software on each planned CLC host: yum groupinstall eucalyptus-cloud-controller 16. Install the Eucalyptus node controller software on each planned NC host. Clouds that use the VMware hypervisor do not have NCs; if you plan to use VMware then skip this step. yum install eucalyptus-nc 17. Install the software for the remaining Eucalyptus components. The following example shows most components being installed on the same host. We recommend using different hosts for each component. yum install eucalyptus-cc eucalyptus-sc eucalyptus-walrus 18. If you have a Eucalyptus subscription and plan to use the VMware hypervisor, install the Eucalyptus VMware broker software on each CC host: yum install eucalyptus-enterprise-vmware-broker 19. If you have a Eucalyptus subscription and plan to use Eucalyptus's SAN capabilities, install the Eucalyptus SAN adapter software on each SC host: yum install eucalyptus-enterprise-storage-san 20. After you have installed Eucalyptus, test multicast connectivity between each CLC and Walrus, SC, and VMware broker host. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering a. Run the following receiver command on the CLC: java -classpath /usr/share/eucalyptus/jgroups-2.11.1.Final.jar org.jgroups.tests.McastReceiverTest -mcast_addr 224.10.10.10 -port 5555 b. Once the receiver command blocks, simultaneously run the following sender command on each Walrus host: java -classpath /usr/share/eucalyptus/jgroups-2.11.1.Final.jar org.jgroups.tests.McastSenderTest -mcast_addr 224.10.10.10 -port 5555 The two applications should be able to connect and arbitrary lines entered on the sender should appear on the receiver. c. Repeat the previous step on each SC host and VMware broker host. d. If you are installing an HA environment, repeat these tasks with the second CLC. Your installation is complete. Configuring Eucalyptus This section describes the parameters that need to be set in order to launch Eucalyptus for the first time. The first launch of Eucalyptus is different than a restart of a previously running Eucalyptus deployment in that it sets up the security mechanisms that will be used by the installation to ensure system integrity. Eucalyptus configuration is stored in a text file, /etc/eucalyptus/eucalyptus.conf, that contains keyvalue pairs specifying various configuration parameters. Eucalyptus reads this file when it launches and when various forms of reset commands are sent it the Eucalyptus components. Configure Network Modes This section provides detailed configuration instructions for each of the four Eucalyptus networking modes. Eucalyptus requires network connectivity between its clients (end-users) and the cloud Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering components (CC, CLC, and Walrus). In Managed and Managed (No VLAN) modes, traffic to instances pass through the CC. So, in these two modes clients must be able to connect to the CC. In System and Static modes, clients need to connect directly to the NC. The CC does not act as a router in these two modes. The /etc/eucalyptus/eucalyptus.conf file contains all network-related options in in the “Networking Configuration” section. These options use the prefix VNET_. The most commonly used VNET options are described in the following table. The set of networking settings that apply to a cloud varies based on its networking mode. Each setting in this section lists the modes in which it applies. Unless otherwise noted, all of these settings apply only to CCs. The /etc/eucalyptus/eucalyptus.conf file contains all network-related options in in the Networking Configuration section. These options use the prefix VNET_. The most commonly used VNET options are described in the following table. Option Description Modes The networking mode in which to run. The same mode must be specified on all CCs and NCs in the entire cloud. Valid VNET_MODE values: STATIC, SYSTEM, MANAGED, MANAGED- All NOVLAN, Default: SYSTEM The name of the network interface that is on the same Static network as the NCs. In Managed and Managed (No VLAN) Manage VNET_PRIVINTERFA modes this must be a bridge for instances in different d CE clusters but in the same security group to be able to reach one another with their private addresses. Default: eth0 Manage d (No VLAN) Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Option Description Modes On a CC, this is the name of the network interface that is connected to the “public” network. On an NC, this is the name of the network interface that is VNET_PUBINTERFAC connected to the same network as the CC. Depending on the Manage E hypervisor's configuration this may be a bridge or a physical d interface that is attached to the bridge. Default: eth0 On an NC, this is the name of the bridge interface to which Static instances' network interfaces should attach. A physical System VNET_BRIDGE interface that can reach the CC must be attached to this bridge. Common settings include xenbr0 for older Xen versions,eth0 for newer Xen versions, and br0 for KVM. Manage d (No VLAN) A map of MAC addresses to IP addresses that Eucalyptus should allocate to instances when running in Static mode. VNET_MACMAP Separate MAC addresses and IP addresses with = characters. Separate pairs with spaces. Static Example: VNET_MACMAP="00:01:02:03:04:05=192.16 8.1.1 A1:A2:A3:A4:A5:A6=192.168.1.2" A space-separated list of individual and/or hyphenated Manage ranges of public IP addresses to assign to instances. If this d VNET_PUBLICIPS is undefined then instances will receive only private IP addresses. For example: Manage d (No- VNET_PUBLICIPS="173.205.188.140-173.205.188.254" VLAN) Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Option Description Modes Static Manage VNET_SUBNET, The address and network mask of the network the cloud d VNET_NETMASK should use for instances' private IP addresses. Manage d (No VLAN) Eucalyptus assigns a distinct subnet of private IP addresses Manage to each security group. This setting dictates how many d VNET_ADDRSPERNE T addresses each of these subnets should contain. Specify a , power of 2 between 16 and 2048. This is directly related, Manage though not equal, to the number of instances that may reside d (No in each security group. VLAN) Static Manage VNET_DNS The address of the DNS server to supply to instances in d DHCP responses. Manage d (No VLAN) VNET_BROADCAST, The network broadcast and default gateway to supply to VNET_ROUTER instances in DHCP responses. Static By default the CC automatically determines which IP VNET_LOCALIP address to use when setting up tunnels to other CCs. Set this Manage to the IP address that other CCs can use to reach this CC if d tunneling does not work. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Option Description Modes Manage d (No- VLAN) Static VNET_DHCPDAEMO N The ISC DHCP executable to use. This is set to a distrodependent value by packaging. The internal default is /usr/sbin/dhcpd3. Manage d Manage d (No VLAN) Static The user the DHCP daemon runs as on your distribution. Manage VNET_DHCPUSER For CentOS 5, RHEL5, and RHEL 6 this is typically root. d In Ubuntu 10.04 LTS, this is typically dhcpd. Default: dhcpd Manage d (No VLAN) Configure Hypervisors Eucalyptus interacts with both Xen and KVM hypervisors through libvirt. This section details steps to configuring these hypervisors. To make sure the Xen daemon is set up correctly: 1. Log in to an NC and open the /etc/xen/xend-config.sxp file. 2. Verify these Eucalyptus-recommended settings: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. (xend-http-server yes) 4. (xend-unix-server yes) 5. (xend-unix-path /var/lib/xend/xend-socket) 6. (xend-address localhost) 7. (network-script network-bridge) 8. (vif-script vif-bridge) 9. (dom0-min-mem 196) 10. (dom0-cpus 0) 11. (vncpasswd '') 12. Restart the network: service network restart 13. If any changes are necessary, save the file and restart xend by running service xend restart 14. Open the /etc/libvirt/libvirtd.conf file. 15. Uncomment the following lines and change the value for unix_sock_group from libvirt to eucalyptus: 16. unix_sock_group = "eucalyptus" 17. unix_sock_ro_perms = "0777" 18. unix_sock_rw_perms = "0770" 19. Save the file and restart the libvirtd daemon. 20. Use the virsh list command to confirm that the eucalyptus user can communicate with libvirt. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 21. su -c "virsh list" eucalyptus 22. Id Name State 23. -------------------------------- 0 Domain-0 The command returns a Domain-0 for user eucalyptus. If the command doesn’t succeed, double-check the steps and setting. 24. If you are running Xen on your NC, the euca-get-console-output command will not work, unless you do the following: a. On the NC, open the /etc/sysconfig/xend. b. Uncomment the following line: XENCONSOLED_LOG_GUESTS=yes c. Save the file and restart xend. 25. Repeat for each NC server in your system. RHEL 6 No additional configuration is required for KVM or libvirt on RHEL 6. Configure Loop Devices To ensure that Eucalyptus starts new instances, you must configure the number of loop devices you expect to use for SC and NC components. An SC with insufficient loop devices fails to create new EBS volumes. An NC with insufficient loop devices fails to start new instances. This section tells you how to configure loop devices for your distribution. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering We recommend that you err on the side of configuring too many loop devices. Too many loop devices result in a minor amount of memory tie-up and some clutter added to the system's /dev directory. Too few loop devices make Eucalyptus unable to use all of a system's resources. Eucalyptus installs with a default loop device amount of 256. However, Eucalyptus cannot control the number of loop devices on either CentOS 5 or RHEL 5. These systems default to eight loop devices, so you must supply a option to the loop driver by writing a configuration file. For more information, see the instructions for either CentOS 5 or RHEL 5. If you want to change the default loop device number in CentOS 6, RHEL 6 Ubuntu 10.04 LTS, or Ubuntu 12.04 LTS, see the instructions for either CentOS 6, RHEL 6, Ubuntu 12.04 LTS, or Ubuntu 12.04 LTS. RHEL 5 1. Log in to the SC server. 2. Create and open a file, /etc/modprobe.d/eucalyptus-loop. 3. Enter the following line: options loop max_loop=N where N is an integer from 1 to 256 4. Reload the loop driver if it is already loaded. 5. rmmod loop modprobe loop 6. Repeat for each SC and NC server. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering RHEL 6 You don’t need to make a configuration change for RHEL 6 machines unless you want to change the default loop device value of 256. To change the default value, perform the tasks that follow. 1. Log in to the SC server and open the /etc/eucalyptus/eucalyptus.conf file. 2. Uncomment the following line: # CREATE_SC_LOOP_DEVICES=256 3. Replace 256 with the number of loop devices. 4. Repeat for each SC on your system. 5. Log in to an NC server and open the /etc/eucalyptus/eucalyptus.conf file. 6. Uncomment the following line: # CREATE_NC_LOOP_DEVICES=256 7. Replace 256 with the number of loop devices. 8. Repeat for each NC on your system. Configure Multi-Cluster Networking 9. Eucalyptus supports multiple clusters within a single Eucalyptus cloud. This section briefly describes how Eucalyptus manages the networking aspect of a multi-cluster setup. 10. In System or Static networking modes, Eucalyptus does not perform any special configuration for a multi-cluster setup. In Managed and Managed (No VLAN) modes, Eucalyptus sets up Layer 2 Tunneling Protocol (L2TP) between your clusters. This means that virtual machines in the same security group, but distributed across clusters (potentially each in their own broadcast domain), can communicate with one another. Eucalyptus uses Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering the VTun package to handle all L2TP tunnels between clusters. If VTun is installed on each of your CCs, multi-cluster tunneling is automatically handled by each CC. 11. Depending on the networking mode and network topology, keep the following network configuration considerations in mind. 12. Managed Mode: 13. During normal operation, you will see many tunnel interfaces being created and destroyed as virtual networks are constructed and torn down. 14. Managed (No VLAN) Mode: 15. In order forVTun tunneling to work in this mode, you must configure each CC with a bridge as its primary, public interface (VNET_PUBINTERFACE). 16. Managed Mode and Managed (No VLAN) Mode: 17. The CC attempts to auto-discover its list of local IP addresses upon startup, but if the IP that was used to register the CC is not locally available, you can override the CC's notion of 'self' by setting the VNET_LOCALIP variable in the eucalyptus.conf file. 18. Do not run two CCs in the same broadcast domain with tunneling enabled, as this will potentially lead to a broadcast storm as tunnels start forwarding packets in a loop on your local network. 19. If you want to disable tunneling altogether, set DISABLE_TUNNELING=y in eucalyptus.conf. Manage IP Tables Rules 20. In Managed and Managed (No VLAN) modes, Eucalyptus flushes the CC's iptables rules for both filter and nat, then it sets the default policy for the FORWARD chain in filter to DROP. At run time, the CC adds and removes rules from FORWARD as users add and remove ingress rules from their active security groups. In addition, the nat table is configured to allow VMs access to the external network using IP masquerading, and dynamically adds/removes rules in the nat table as users assign and unassign public IPs to VMs at instance boot or run-time. 21. If you have rules you want to apply on the CC, make the following edit on the CC before you start Eucalyptus or while Eucalyptus is stopped: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 22. iptables-save > /var/run/eucalyptus/net/iptables-preload Starting Eucalyptus Make sure that each host you installed a Eucalyptus component on resolves to an IP address. Edit the /etc/hosts file if necessary. Start the Eucalyptus components in the order presented in this guide. Start the CLC 1. Log in to the CLC. 2. Enter the following command to initialize the CLC: Note Please ensure that the "eucalyptus-cloud" process is not running prior to executing this command. 3. /usr/sbin/euca_conf --initialize Note This command might take a minute or more to finish. 4. Enter the following command to start the CLC: service eucalyptus-cloud start Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Start Walrus Important If you installed Walrus on the same host as the CLC, skip this step. To start Walrus: 1. Log in to the Walrus server and enter the following command: service eucalyptus-cloud start Start the CC To start the CC: 1. Log in to the CC server and enter the following: service eucalyptus-cc start 2. If you have a multi-cluster setup, repeat this step on the CC in each cluster. Start the VMware Broker Tip If you aren’t using the subscription-only VMware Broker module, skip this section. If you are using Eucalyptus with VMware support, perform the following tasks. 1. Log in to the CC server and enter the following: service eucalyptus-cloud start Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. If you have a multi-cluster setup, repeat this step on the CC in each cluster. Start the SC Important If you installed SC on the same host as the CLC, skip this step. To start the SC: 1. Log in to the SC server and enter the following command: service eucalyptus-cloud start Important If you are re-installing the SC, please restart the tgt (iSCSI open source target) daemon. 2. If you have a multi-cluster setup, repeat this step on the SC in each cluster. Start the NCs 1. Log in to an NC server and enter the following command: service eucalyptus-nc start 2. Repeat for each NC server. Verify the Startup Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering At this point, all Eucalyptus components are enabled and starting up. Some of these services perform intensive initialization at start-up, particularly the first time they are started. You might have to wait a few minutes until they are fully operational. One quick way to determine if the components are running is to run netstat on the various hosts and look to see when the service ports are allocated to a process. Specifically, the CLC, Walrus, the SC, and the VMware Broker allocate ports 8773. The CC listens to port 8774, and the NC uses port 8775. Verify that everything has started without error. Expected outcomes include: The CLC is listening on ports 8443 and 8773 Walrus is listening on port 8773 The SC is listening on port 8773 If you are using the subscription only VMware Broker, it is listening on port 8773 The CC is listening on port 8774 The NCs are listening on port 8775 Log files are being written to /var/log/eucalyptus/ Registering Eucalyptus Eucalyptus implements a secure protocol for registering separate components so that the overall system can’t be tricked into including a component run by an unauthorized administrator or user. You only need to register components the first time Eucalyptus is started after it was installed. Most registration commands run on the CLC server. NCs, however, are registered on each CC. You must register each NC on every CC for the cluster on which the NC participates. Note that each registration command will attempt an SSH as root to the remote physical host where the registering component is assumed to be running. The registration command also contacts the Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering component so it must be running at the time of the command is issued. If a password is required to allow SSH access, the command will prompt the user for it. Except for NCs, each registration command requires four pieces of information: The component (--register-XYZ) you are registering, because this affects where the commands must be executed. The partition (--partition) the component will belong to. The partition is the same thing as availability zone in AWS. The name (--component) ascribed to the component. This is the name used to identify the component in a human-friendly way. This name is also used when reporting system state changes which require administrator attention. This name must be globally-unique with respect to other component registrations. To ensure this uniqueness, we recommend using a combination of the component type (CLC, SC, CC, etc) and system hostname or IP address when you choose your component names. For example: clc-eucahost15 or clc-192.168.0.15. The IP address (--host) of the service being registered. NCs only have two pieces of information: component name and IP address. Register Walrus To register Walrus: 1. On the CLC server, enter the following command: /usr/sbin/euca_conf --register-walrus --partition walrus --host <walrus_IP_address> -component <walrus_name> The partition name for Walrus has to be walrus. Like the CLC, the component name is a unique name for this particular component: we recommend a format such as walrus<hostname>. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering High Availability For HA, register the secondary Walrus the same way, using the secondary Walrus IP address and secondary Walrus name. Use the same partition name as the primary Walrus. Register the CC To register the CC: 1. On the CLC, enter the following command: 2. /usr/sbin/euca_conf --register-cluster --partition <partition_name> --host <CC_IP_address> --component <cc_name> We recommend that you set the partition name to a descriptive name for the availability zone controlled by the CC. For example:cluster01. The component is a unique name. We recommend that you use a short-hand name of the hostname or IP address of the machine, like cc-<hostname> or cc-<IP address>. 3. Repeat for each cluster, replacing the CC name, partition name, CC IP address, and CC name. High Availability For HA, register the secondary CC the same way, replacing the CC IP address and CC name, but using the same partition name as the primary CC. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Register the VMware Broker Tip If you aren’t using the subscription-only VMware Broker module, skip this section. To register the VMware Broker 1. On the CLC, enter the following command: 2. /usr/sbin/euca_conf --register-vmwarebroker --partition <partition_name> --host <CC_IP_address> --component <vmwarebroker_name> The VMware Broker must have the same partition name as the CC in the same cluster. Like the other components, the component is a unique name for this particular component: we recommend a format such as broker-<hostname>. Important Register the VMware Broker component using the CC IP address, not the CLC IP address. 3. Repeat for each cluster, replacing the VMware Broker name, partition name, CC IP address, and CC name. Register the SC To register the SC: 1. On the CLC, enter the following command: 2. /usr/sbin/euca_conf --register-sc --partition <partition_name> --host <SC_IP_address> Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering --component <SC_name> An SC must have the same partition name as the CC in the same cluster. Like the other components, the component is a unique name for this particular component: we recommend a format such as sc-<hostname>. 3. Repeat for each cluster, replacing the SC name, partition name, SC IP address, and SC name. High Availability For HA, register the secondary SC the same way, using the secondary SC IP address and SC name, but using the same partition name as the primary SC. Register the NCs Important If you are using the subscription only VMware Broker module, you can skip this task. Eucalyptus software is not installed on machines that are running VMware. You do not have to register the NCs. Instead, you have to configure the VMware Broker, as described in the Configure VMware Support section. 1. On a CC, register all NCs using the following command with the IP address of each NC server: /usr/sbin/euca_conf --register-nodes "<node0_IP_address> ... <nodeN_IP_address>" Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. Repeat each cluster in your cloud. Example The IP addresses of the NCs are space delimited, as in the following example: /usr/sbin/euca_conf --register-nodes "192.168.71.154 192.168.71.155 192.168.71.159" High Availability For HA, you must also register the NCs with the secondary CC. Register Arbitrators Eucalyptus uses a periodic ICMP echo test to an Arbitrator. This test approximates an end user's ability to access the system. If Eucalyptus determines that it cannot reach the host associated with a registered Arbitrator, all Eucalyptus services operating on that host attempt to failover to the alternate hosts running those services. High Availability In HA, you can register each Arbitrator service on the primary and secondary CLC and Walrus. If you are using either Managed or Managed (No VLAN) mode, you can also register Arbitrator services on both the primary CC and the secondary CC. We recommend that you register more than one Arbitrator for each Eucalyptus component. This will allow for normal outages and maintenance. There is no limit on the number of Arbitrators on a CLC and a Walrus. You can only register up to three on a CC. Register an Arbitrator service on each host that has a cloud component (CLC or Walrus) installed. An Arbitrator is a host-wide component: when an Arbitrator is registered on a host, it is registered with all cloud components enabled on that host. A separate arbitrator has to be registered per each network entity that needs to be monitored from the host. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering To register an Arbitrator: 1. Log in to the primary CLC. 2. Enter the following command to register an arbitrator: /usr/sbin/euca_conf --register-arbitrator --partition <ID> Configuring the Runtime Environment After Eucalyptus is installed and registered, perform the tasks in this section to configure the runtime environment. Generate Administrator Credentials Now that you have installed and configured Eucalyptus, you're ready to start using it. To do so, you must generate credentials. Important When you run the euca_conf --get-credentials command, you are requesting the access and secret keys and an X.509 certificate and key. You cannot retrieve an existing X.509 certificate and key. You can only generate a new pair. To generate a set of credentials: 1. Generate administrator credentials. 2. /usr/sbin/euca_conf --get-credentials admin.zip 3. unzip admin.zip 4. Source the eucarc file. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering source eucarc You are now able to run Eucalyptus commands. Configure DNS Eucalyptus provides a DNS service that you can configure to: Map instance IPs and Walrus bucket names to DNS host names Enable DNS delegation to support transparent failover in HA mode The DNS service will automatically try to bind to port 53. If port 53 cannot be used, DNS will be disabled. Typically, other system services like dnsmasq are configured to run on port 53. To use the Eucalyptus DNS service, you will need to disable these services. Configure the Subdomain Before using the DNS service, configure the DNS sub domain name that you want Eucalyptus to handle as follows after the Eucalyptus Cloud Controller (CLC) has been started. 1. Log in to the CLC (the primary CLC in an HA setup) and enter the following: 2. euca-modify-property -p system.dns.dnsdomain=<eucadomain.yourdomain> Turn on IP Mapping To turn on mapping of instance IPs to DNS host names: 1. Enter the following command on the CLC (the primary CLC in an HA setup): euca-modify-property -p bootstrap.webservices.use_instance_dns=true Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering When this option is enabled, public and private DNS entries are set up for each instance that is launched in Eucalyptus. This also enables virtual hosting for Walrus. Buckets created in Walrus can be accessed as hosts. For example, the bucket mybucket is accessible asmybucket.walrus.eucadomain.yourdomain. Instance IP addresses will be mapped as euca-A.B.C.D.eucalyptus.<subdomain>, where A.B.C.D is the IP address (or addresses) assigned to your instance. 2. If you wish to modify the subdomain that is reported as part of the instance DNS name, please enter the following command: euca-modify-property -p cloud.vmstate.instance_subdomain=<custom-dns-subdomain> When this value is modified, the public and private DNS names reported for each instance will contain the specified custom DNS subdomain name, instead of the default value, which is eucalyptus. For example, if this value is set to foobar, the instance DNS names will appear as euca-A.B.C.D.foobar.<subdomain>. Enable DNS Delegation High Availability If you are not using HA, you can skip this task. DNS delegation allows you to forward DNS traffic for the Eucalyptus subdomain to the Eucalyptus CLC hosts. These hosts act as name servers. This allows interruption-free access to Eucalyptus cloud services in the event of a failure. Both primary and secondary CLC hosts are capable of mapping cloud host names to IP addresses of the primary CLC and Walrus hosts. For example, if the IP address of the primary and secondary CLC are 192.168.5.1 and 192.168.5.2, and the IP addresses of primary and secondary Walruses are 192.168.6.1 and 192.168.6.2, the host eucalyptus.eucadomain.yourdomain will to 192.168.6.1 andwalrus.eucadomain.yourdomain will resolve to 192.168.6.1. resolve Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering If the primary CLC fails, the secondary CLC will become the primary and eucalyptus.eucadomain.yourdomain will resolve to 192.168.5.2. If the primary Walrus fails, the secondary Walrus will be promoted and walrus.eucadomain.yourdomain will resolve to 192.168.6.2. To enable DNS delegation: 1. On the primary CLC, enter the following command: euca-modify-property -p bootstrap.webservices.use_dns_delegation=true 2. Because the credentials are now slightly changed, you must generate the administrative credentials and source the eucarc file again. Configure the Master DNS Server Set up your master DNS server to forward the Eucalyptus subdomain to the primary and secondary CLC servers, which act as name servers. The following example shows how the Linux name server bind is set up to forward the Eucalyptus subdomain. 1. Open /etc/named.conf and set up the eucadomain.yourdomain zone. For example, your /etc/named.conf may look like the following: 2. zone "yourdomain" { 3. type master; 4. file "/etc/bind/db.yourdomain"; 5. }; 6. 7. #Forward eucadomain.yourdomain 8. zone "eucadomain.yourdomain" { Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 9. type forward; 10. forward only; 11. forwarders { <CLC_0_IP>; <CLC_1_IP>; }; }; where <CLC_0_IP> is the IP address of your primary CLC and <CLC_1_IP> is the IP address of your secondary CLC. 12. Create /etc/bind/db.yourdomain if it does not exist. If your master DNS is already set up for yourdomain, you will need to for <CLC_0_IP> and <CLC_1_IP>. For example: 13. $TTL 604800 14. @ IN SOA yourdomain. root.yourdomain. ( 15. 2 ; Serial 16. 604800 ; Refresh 17. 86400 ; Retry 18. 2419200 ; Expire 19. 604800 ) ; Negative Cache TTL 20. ; 21. @ IN NS ns.yourdomain. 22. @ IN A <master_nameserver_IP> 23. 24. ns.yourdomain. IN A <master_nameserver_IP> add name server entries Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 25. 26. ;Add entries for primary and secondary CLCs 27. eucadomain.yourdomain. IN NS clc0.eucadomain.yourdomain. 28. eucadomain.yourdomain. IN NS clc1.eucadomain.yourdomain. 29. 30. clc0.eucadomain.yourdomain. IN A <CLC_0_IP> clc1.eucadomain.yourdomain. IN A <CLC_1_IP> where clc0.eucadomain.yourdomain and clc1.eucadomain.yourdomain are the host names of your primary and secondary CLC servers. 31. Restart the bind nameserver (/etc/init.d/bind9 restart or /etc/init.d/named restart, depending on your Linux distribution). 32. Test your setup by pointing /etc/resolv.conf on your client to your primary DNS server and attempt to resolveeucalyptus.eucadomain.yourdomain using ping or nslookup. It should return the IP address of the primary CLC server. Set NC Concurrency Level On some Linux installations, a sufficiently large amount of local disk activity can slow down process scheduling. This can cause other operations (e.g., network communication and instance provisioning) appear to stall. To alleviate this potential problem, we recommend performing the following steps on each NC: 1. Log in to an NC server and open the /etc/eucalyptus/eucalyptus.conf file. 2. Change the CONCURRENT_DISK_OPS parameter to the number of disk-intensive operations you want the NC to perform at once. Examples of disk-intensive operations include preparing disk images for launch and creating ephemeral storage. Set this value Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering to 1 to serialize all disk-intensive operations. Set to a higher number to increase the amount of disk-intensive operations the NC will perform in parallel. Set Up Security Groups In Managed and Managed (No VLAN) networking modes, you must configure the system with parameters that define how Eucalyptus will allocate and manage virtual machine networks. These virtual machine networks are known as security groups. The relevant parameters are set in the eucalyptus.conf on all machines running a CC. These parameters are: VNET_SUBNET VNET_NETMASK VNET_ADDRSPERNET The CC will read VNET_SUBNET and VNET_NETMASK to construct a range of IP addresses that are available to all security groups. This range will then be further divided into smaller networks of the size specified in VNET_ADDRSPERNET. The first time an instance runs in a given security group, Eucalyptus chooses an unused range of IPs of size specified in VNET_ADDRSPERNET. Eucalyptus then implements this network across all CCs. All instances that run within this given security group obtain a specific IP from this range. Tip Ten of the IP addresses within each security group network are reserved for Eucalyptus to use as gateway addresses, broadcast address, etc. For example, if you set VNET_ADDRSPERNET to 32, there will be 22 free IPs that are available for instances running in that security group. In Managed mode, each security group network is assigned an additional parameter that is used as the VLAN tag. This parameter is added to all virtual machine traffic running within the security Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering group. By default, Eucalyptus uses VLAN tags starting at 2, going to a maximum of 4094. The maximum is dependent on how many security group networks of the size specified in VNET_ADDRSPERNET fit in the network defined byVNET_SUBNET and VNET_NETMASK. If your networking environment is already using VLANs for other reasons, Eucalyptus supports the definition of a smaller range of VLANs that are available to Eucalyptus. To set this range with a running and configured Eucalyptus installation: 1. Determine the range that your cluster controllers are configured to support. 2. euca-describe-properties | grep cluster.maxnetworktag euca-describe-properties | grep cluster.minnetworktag 3. Define a range that is a proper subset of the above bounds. 4. euca-modify-property -p cloud.network.global_max_network_tag=<max_vlan_tag> euca-modify-property -p cloud.network.global_min_network_tag=<min_vlan_tag> Experiment -2 Objective - Service deployment & Usage over cloud. Introduction :Resource sharing in a pure plug and play model that dramatically simplifies infrastructure planning is the promise of „cloud computing‟. The two key advantages of this model are easeof-use and cost-effectiveness. Though there remain questions on aspects such as security Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering and vendor lock-in, the benefits this model offers are many. This paper explores some of the basics of cloud computing with the aim of introducing aspects such as: Realities and risks of the model Components in the model Characteristics and Usage of the model The paper aims to provide a means of understanding the model and exploring options available for complementing your technology and infrastructure needs. An Overview Cloud computing is a computing paradigm, where a large pool of systems are connected in private or public networks, to provide dynamically scalable infrastructure for application, data and file storage. With the advent of this technology, the cost of computation, application hosting, content storage and delivery is reduced significantly. Cloud computing is a practical approach to experience direct cost benefits and it has the potential to transform a data center from a capital-intensive set up to a variable priced environment. The idea of cloud computing is based on a very fundamental principal of „reusability of IT capabilities'. The difference that cloud computing brings compared to traditional concepts of “grid computing”, “distributed computing”, “utility computing”, or “autonomic computing” is to broaden horizons across organizational boundaries. Forrester defines cloud computing as: “A pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting endcustomer applications and billed by consumption.” Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Cloud Computing Models Cloud Providers offer services that can be grouped into three categories. 1. Software as a Service (SaaS): In this model, a complete application is offered to the customer, as a service on demand. A single instance of the service runs on the cloud & multiple end users are serviced. On the customers‟ side, there is no need for upfront investment in servers or software licenses, while for the provider, the costs are lowered, since only a single application needs to be hosted & maintained. Today SaaS is offered by companies such as Google, Salesforce, Microsoft, Zoho, etc. 2. Platform as a Service (Paas): Here, a layer of software, or development environment is encapsulated & offered as a service, upon which other higher levels of service can be built. The customer has the freedom to build his own applications, which run on the provider‟s infrastructure. To meet manageability and scalability requirements of the applications, PaaS providers offer a predefined combination of OS and application servers, such as LAMP platform (Linux, Apache, MySql and PHP), restricted J2EE, Ruby etc. Google‟s App Engine, Force.com, etc are some of the popular PaaS examples. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. Infrastructure as a Service (Iaas): IaaS provides basic storage and computing capabilities as standardized services over the network. Servers, storage systems, networking equipment, data centre space etc. are pooled and made available to handle workloads. The customer would typically deploy his own software on the infrastructure. Some common examples are Amazon, GoGrid, 3 Tera, etc Understanding Public and Private Clouds Enterprises can choose to deploy applications on Public, Private or Hybrid clouds. Cloud Integrators can play a vital part in determining the right cloud path for each organization. Public Cloud Public clouds are owned and operated by third parties; they deliver superior economies of scale to customers, as the infrastructure costs are spread among a mix of users, giving each individual client an attractive low-cost, “Pay-as-you-go” model. All customers share the same infrastructure pool with limited configuration, security protections, and availability variances. These are managed and supported by the cloud provider. One of the advantages of a Public cloud is that they may be larger than an enterprises cloud, thus providing the ability to scale seamlessly, on demand. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Private Cloud Private clouds are built exclusively for a single enterprise. They aim to address concerns on data security and offer greater control, which is typically lacking in a public cloud. There are two variations to a private cloud: On-premise Private Cloud: On-premise private clouds, also known as internal clouds are hosted within one‟s own data center. This model provides a more standardized process and protection, but is limited in aspects of size and scalability. IT departments would also need to incur the capital and operational costs for the physical resources. This is best suited for applications which require complete control and configurability of the infrastructure and security. Externally hosted Private Cloud: This type of private cloud is hosted externally with a cloud provider, where the provider facilitates an exclusive cloud environment with full guarantee of privacy. This is best suited for enterprises that don‟tprefer a public cloud due to sharing of physical resources. Hybrid Cloud Hybrid Clouds combine both public and private cloud models. With a Hybrid Cloud, service providers can utilize 3rd party Cloud Providers in a full or partial manner thus increasing the flexibility of computing. The Hybrid cloud environment is capable of providing on-demand, externally provisioned scale. The ability to augment a private cloud with the resources of a public cloud can be used to manage any unexpected surges in workload. Cloud Computing Benefits Enterprises would need to align their applications, so as to exploit the architecture models that Cloud Computing offers. Some of the typical benefits are listed below: 1. Reduced Cost There are a number of reasons to attribute Cloud technology with lower costs. The billing model is pay as per usage; the infrastructure is not purchased thus lowering maintenance. Initial expense and recurring expenses are much lower than traditionalcomputing. 2. Increased Storage With the massive Infrastructure that is offered by Cloud providers today, storage & maintenance of large volumes of data is a reality. Sudden workload spikes are also managed effectively & efficiently, since the cloud can scale dynamically. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. Flexibility This is an extremely important characteristic. With enterprises having to adapt, even more rapidly, to changing business conditions, speed to deliver is critical. Cloud computing stresses on getting applications to market very quickly, by using the most appropriate building blocks necessary for deployment. Cloud Computing Challenges Despite its growing influence, concerns regarding cloud computing still remain. In our opinion, the benefits outweigh the drawbacks and the model is worth exploring. Some common challenges are: 1. Data Protection Data Security is a crucial element that warrants scrutiny. Enterprises are reluctant to buy an assurance of business data security from vendors. They fear losing data to competition and the data confidentiality of consumers. In many instances, the actual storage location is not disclosed, adding onto the security concerns of enterprises. In the existing models, firewalls across data centers (owned by enterprises) protect this sensitive information. In the cloud model, Service providers are responsible for maintaining data security and enterprises would have to rely on them. 2. Data Recovery and Availability All business applications have Service level agreements that are stringently followed.Operational teams play a key role in management of service level agreements and runtime governance of applications. In production environments, operational teams support Appropriate clustering and Fail over Data Replication System monitoring (Transactions monitoring, logs monitoring and others) Maintenance (Runtime Governance) Disaster recovery Capacity and performance management If, any of the above mentioned services is under-served by a cloud provider, the damage & impact could be severe. 3. Management Capabilities Despite there being multiple cloud providers, the management of platform and infrastructure is still in its infancy. Features like „Auto-scaling‟ for example, are a crucial requirement for many enterprises. There is huge potential to improve on the scalability and load balancing features provided today. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Regulatory and Compliance Restrictions In some of the European countries, Government regulations do not allow customer's personal information and other sensitive information to be physically located outside the state or country. In order to meet such requirements, cloud providers need to setup a data center or a storage site exclusively within the country to comply with regulations. Having such an infrastructure may not always be feasible and is a big challenge for cloud providers. With cloud computing, the action moves to the interface — that is, to the interface between service suppliers and multiple groups of service consumers. Cloud services will demand expertise in distributed services, procurement, risk assessment and service negotiation — areas that many enterprises are only modestly equipped to handle. Experiment -3 Objective - Management of cloud resources. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Introduction:-In theory, cloud computing services-based resources should be no different from the resources in your own environment, except that they live remotely. Ideally, you have a complete view of the cloud computing resources you use today or may want to use in the future. In most cloud environments, the customer is able to access only the services they’re entitled to use. Entire applications may be used on a cloud services basis. Development tools are sometimes cloud based. In fact, testing and monitoring environments can be based on the cloud. CLOUD COMPUTING AND IT SECURITY You want the IT security in the cloud to integrate seamlessly with the IT security in your own data center. However, the cloud service provider implements its own IT security procedures To protect customers from external threats To ensure that individual customer environments are isolated from one another For every type of cloud service, the provider delivers a good deal of the IT security. Understand the IT security software and hardware (firewalls, intrusion detection systems, virtual private networks [(PNs), and secure connections) that the cloud provider has in place. Know how the cloud providers are protecting the overall computing environment. CLOUD COMPUTING SERVICES PERFORMANCE MANAGEMENT Performance management is all about how your software services run effectively inside your own environment and through the cloud. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Services connected between the cloud and your computing environment can impact performance if they aren’t well planned. This is especially likely to be the case if there are data translations or specific protocols to adhere to at the cloud gateway. As a customer, your ability to directly control the resources will be much lower in the cloud. Therefore, The connection points between various services must be monitored in real time. A breakdown may impact your ability to provide a business process to your customers. There must be expanded bandwidth at connection points. PROVISIONING OF CLOUD COMPUTING SERVICES With Software as a Service (SaaS), a customer expects provisioning (to request a resource for immediate use) of extra services to be immediate, automatic, and effortless. The cloud service provider is responsible for maintaining an agreed-on level of service and provisions resources accordingly. The normal situation in a data center is that software workloads vary throughout the day, week, month, and year. So the data center has to be built for the maximum possible workload, with a little bit of extra capacity thrown in to cover unexpectedly high peaks. CLOUD COMPUTING SERVICE MANAGEMENT Service management in this context covers all the data center operations activities. This broad discipline considers the necessary techniques and tools for managing services by both cloud providers and the internal data center managers across these physical, IT and virtual environments. Service management encompasses many different disciplines, including Configuration management Asset management Network management Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Capacity planning Service desk Root cause analysis Workload management Patch and update management The cloud itself is a service management platform. Well-designed cloud service portfolios include a tight integration of the core service management capabilities and well-defined interfaces. Experiment -4 Objective - Using existing cloud characteristics & Service model Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Introduction :- The Concept of cloud computing took popularity in 1990’s though its concepts lasts back to 1960’s. Cloud computing technology is a new concept, which provides great opportunities in many areas.it provides services in the form of on-demand services, it’s accessible for everyone, everywhere and every time, including clouds referring to the internet and the web. Cloud computing is a concept still young but not so new that. Cloud computing is a collection of computers and servers that are publically accessible via internet. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. Cloud computing provides the variety of internet based on demand services like software, hardware, server, infrastructure and data storage . we focus on some papers that show different risks in the cloud and the different existing solutions that address these various problems.We will define cloud computing and its various models. Services, advantages and disadvantages of this technology. This new technology suffers like all computer systems a serious problem that reduces trust between the client and the provider is the security.Sen the last five exposes some challenges facing the cloud. CHARACTERISTICS OF CLOUD COMPUTING National Institute of Standard and Technology (NIST) describes cloud computing with five essential characteristics such as • On-demand self-service – Cloud provides all needed computing resources as per requirement to user. • Broad network access – User can access cloud services using desktop, laptop, mobile phone etc. over the internet. • Resource pooling – Cloud provider schedules resources to the user as per their requirement. • Rapid elasticity – Cloud computing has ability to quickly allocate and de-allocate the services as per requirement. • Measured service – Cloud providers controlling on usage of resources SERVICE MODELS Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Software as a Service (SaaS) It has the ability to provide user any software running on a cloud substructure. Software is deployed over the internet. In this model customers licenses the applications and the cloud service providers provide the required facility to the end users when they require. Examples may include web browsers and google docs. Platform as a Service (PaaS) Platform can also be provided as a service. In this any kind of platform (i.e. tools, library, services) is provided as a service of which user has no control but he/she can use it. User can easily generate applications by using PaaS provided by CSP. Mostly virtual machines are used in this case. Most preferably various kinds of tools and applications are deployed to facilitate the users . Infrastructure as a Service (IaaS) Infrastructure facilitates the user by providing computing resources where user can run the software without having control on underlying infrastructure but has control over the operating system being used. IaaS may include IT resources such as severs, networking and storage. Users get access to the infrastructure with the help of virtual machines. It provides an elastic architecture which offers high rate of availability. Cloud Computing Deployment Model There are three main cloud deployment models, each on with its own set of customers it’s targeting. PublicCloud Public cloud provider refers to the cloud platform that targets any types of customers, regardless of whether they’re an independent consumer, enterprise, or even public sector. Normally, public cloud providers are considered prominent players which have invested Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering huge amount of capital. Windows Azure Platform by Microsoft, AWS byAmazon,AppEngine and Gmail by Google, etc. are all examples of public cloud services. Customers who possess sensitive data and application normally do not feel comfortable using public cloud due to privacy, policy, and security concerns. Remember, for public cloud, the application and data will be stored in the provider’s data center. Private Cloud Private cloud is infrastructure that’s hosted internally, targeting specific customers or sometimes exclusively within an organization. Setting up a private cloud is normally more affordable when compared to a public cloud. As the matter of fact, there are many organizations who have implemented their own private cloud system with product offering from vendors such as IBM, HP, Microsoft, and so on. Customers who possess sensitive data and application feel more comfortable going with this approach since the data and application are hosted privately. Hybrid Cloud Hybrid cloud is the combination of public and private clouds, or sometimes on-premise services. Customers who look into this solution generally want to utilize the scalability and cost-competitiveness that public cloud providers offer, but also want to retain their sensitive data on-premise or in a private cloud. With the benefits derived from both deployment models, the hybrid model solution has become more popular nowadays. Experiment -5 Objective - Cloud Security Management. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Introduction :- Cloud computing offers organizations many benefits, but these benefits are unlikely to be realized if there are not appropriate IT security and privacy protection strategies in place when using the cloud. When migrating to the cloud, organizations must have a clear understanding of potential security risks associated with cloud computingand set realistic expectations with providers. The following 8 steps will help enterprise IT and business decision makers analyze the information security and privacy implications of cloud computing and cloud security management on their business. Cloud Security Management 1. Ensure effective governance and compliance Most organizations have security, privacy and compliance policies and procedures to protect their IP and assets. In addition to this, organizations should establish a formal governance framework that outlines chains of responsibility, authority and communication. This describes the roles and responsibilities of those involved, how they interact and communicate, and general rules and policies. 2. Audit operation and business processes It is important to audit the compliance of IT system vendors that host the applications and data in the cloud. There are three important areas that need to be audited by cloud service customers: internal control environment of a cloud service provider, access to the corporate audit trail, and the cloud service facility’s security. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. Manage people, roles, and identities Using the cloud means there will be employees from the cloud service provider that can access the data and applications, as well as employees of the organization that perform operations on the providers system.Organizationsmust ensure that the provider has processes that govern who has access to customer data and application.The provider must allow the customer to assign and manage roles and authorization for each of their users.The provide must also have a secure system in place to managing the unique identifies for users and services. 4. Proper protection of data Data is the core of all IT security concerns for any organization. Cloud computing does not change this concern but brings new challenges because of the nature of cloud computing.The security and protection of data both at rest and in transit needs to be ensured. 5. Enforce privacy policies Privacy and protection of personal information and data is crucial, especially as many major companies and financial institutions are suffering data breaches. Privacy of personal information is related to personal data that is held by an organization, which could be compromised by negligence or bugs. It is critical that privacy requirements be addresses by the cloud service provider. If not, the organization should consider seeking a different provider or not placing sensitive data in the cloud. 6. Assess security considerations for cloud applications Organizations are constantly protecting their business applications from internal and external threats. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Application security poses challenges to both the provider and organizationand depending on the type of cloud deployment model (IaaS, PaaS, or SaaS), there are different security policy considerations. 7. Cloud networks and connections are secure Cloud service providers must allow legitimate network traffic and block malicious traffic. Unfortunately, cloud service providers will not know what network traffic its customer plan to send and receive. Therefore, organizations and providers must work together to set safety measuresand provide the tools necessary to protect the system. 8. Evaluate security controls and physical infrastructure The security of an IT system is also based on the security of the physical infrastructure and facility. Organizations must have assurance from the provider that the appropriate controls are in place. Infrastructure and facilities should be held in secure areasand protected against external and environmental threats. For example, physical printers should be locked down or moved into a controlled access area. Further protect access by using a network print security appliance to require user authentication for access to the printer to help eliminate security breaches and reduce printing costs. As organizations migrate their applications and data to the cloud computing, it is critical to maintain the security and privacy protection they had in their traditional IT environment. Experiment -6 Objective - Performance evaluation of services over cloud Cloud computing is a type of parallel, virtual, distributed, configurable, and flexible systems, which refers to provision of applications such as hardware’s and software’s in virtual data centersvia Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering internet. Cloud computing services are configurable, and customers pay fees based on the use of resources and services The most important elementof cloud structure is server which is the brain behind the wholeprocesses in cloud. Cloud is the important model for access to distributed computing resources. Pay peruse, scalability, use theInternet technology, self-service based on the demand, highperformance, quick to implement, easy to maintain and update are key benefits of cloudcomputing. And the data recovery, lack of control over cloud services, service level agreements, legalproblems, different architectures, audit, Reviews and evaluation of the performance cloudcomputing environment are the major disadvantages of cloud computing. Cloud Computing Service Delivery Models There are three models for delivery of cloud services as follows: Software as a Service (SaaS), in this model, users use the launched application on cloudinfrastructure. Interfaces for these applications are browsers, and don’t require installation. Gmailis the best known example of this model. Platform as a Service (PaaS), in this model, users rented platforms or operating systems and theycan expand their required programs on it. The most famous example of this model is Google AppEngine . Infrastructure as a Service (IaaS), this model is associated with a virtual engine and userscan access to infrastructures with virtual machine . Cloud Computing Deployment Models The decision on implementation of cloud is important. There are four main cloud deploymentmodels as follows: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Public, the most common model is the cloud deployment model. Large Enterprise is Owner of alarge cloud infrastructure and services to users. Private, this model simulates a private network. It is just for an organization's infrastructure. Community, in this model, some enterprises which have common policies, goals and concernsshare infrastructure of cloud. Hybrid, this model is a combination of two or more cloud deployment models. In this model,resource management may be internal or external. Process of a Request in Cloud When a request of service is given by a user to cloud, it passes a special trend until acceptanceand run or rejection. This process is shown in figure 1. As can be seen in figure 1, any entry request may be placed in one of 3 situations after enteringinto cloud servers which is described in following: Running or Serving Waiting in buffers Rejectingthe requestbecausebufferis fullor Inapplicable,figure 2, shows possibletransmission states. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering CLOUD COMPUTING PERFORMANCE EVALUATION Cloud computing resources must be compatible, high performance and powerful. Highperformance is one of the cloud advantages which must be satisfactory for each service Higher performance of services and anything related to cloud have influence on users and serviceproviders. Hence, performance evaluation for cloud providers and users is important. There aremany methods for performance prediction and evaluation; we use the following methods in ourevaluation: Evaluation based on criteria and characteristics Evaluation based on simulation Another category which can be considered for evaluating cloud performance is classification ofthree layers of cloud services evaluation Factors affective on performance Nowadays , the term “performance” is more than a classic concept and includes more extensiveconcepts such as reliability, energy efficiency, scalability and soon. Due to the extent of cloudcomputing Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering environments and the large number of enterprises and normal users who are usingcloud environment, many factors can affect the performance of cloud computing and itsresources. Some of the important factors considered in this paper are as follows: Security, the impact of security on cloud performance may seem lightly strange, but theimpact of security on network infrastructure has been proven. For example, DDoS attackshave wide impact on networks performance and if happen, it will greatly reduce networksperformance and also be effective on response time too. Therefore, if this risk and any samerisks threaten cloud environment, it will be a big concern for users and providers. Recovery, when data in cloud face errors and failures or data are lost for any reason, the timerequired for data retrieval and volumes of data which are recoverable, will be effective oncloud performance. For example, if the data recovery takes a long time will be effective oncloud Performance and customer satisfaction, because most organizations are cloud usersand have quick access to their data and their services are very important for them Service level agreements, when the user wants to use cloud services, an agreement will besigned between users and providers which describes user’s requests, the ability of providers,fees, fines etc. If we look at the performance from personal view, the better , more optimaland more timely the agreed requests , the higher the performance will be .This view alsoholds true for providers. Network bandwidth, this factor can be effective on performance and can be a criterion forevaluations too. For example, if the bandwidth is too low to provide service to customers,performance will be low too . Storage capacity, Physical memory can also be effective on the performance criteria. Thisfactor will be more effective in evaluating the performance of cloud infrastructure. Buffer capacity: as shown in figure 2, if servers cannot serve a request, it will be buffered ina temporary memory. Therefore, buffer capacity effect on performance. If the buffercapacity is low, many requests will be rejected and therefore performance will be low. Disk capacity, can also have a negative or positive impact on performance in cloud. Fault tolerance, this factor will have special effect on performance of cloud environment. Asan example, if a data center is in deficient and is able to provide the minimum services, thiscan increase performance. Availability, with easy access to cloud services and the services are always available,performance will be increase. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Number of users, if a data center has a lot of users and this number is greater than that of therated capacity, this will reduce performance of services. Location, data centers and their distance from a user’s location are also an important factorthat can be effective on performance from the users’ view. Other factors that can affect performance which are as follows: Usability Scalability Workload repetition or redundancy Processor Power Latency Performance Evaluation Criteria There is a series of criteria for evaluation of all factors affecting performance of cloud computingsome of which will be used in this paper. These criteria are under development. Some of thesecriteria have been selected considering the importance and criteria in simulation. It should bementioned that all of criteria listed in pervious sections cover the factors mentioned in theprevious section but some of the factors will be important in special criteria: Average response time per unit time, this criterion will cover all factors completely . Network capacity per second (Mbps)or unit time, the most important factor associatedwith this criterion is network bandwidth ,availability and scalability. The number of I / O commands per second(IOPS)or unit time Average waiting time per unit time [6,18] Workload(requests) to be serviced per second(Mbps) or a unit of time Throughput (Req / Sec), this criterion will be recovered recovery, buffering capacity andprocessing power factors . The average time of processing(exe / sec) Percentage of CPU utilization The number of requests executed per unit time The number of requests per unit time buffer The number of rejected requests per unit time Experiment -7 Objective - Install VMWare and create a virtual machine on Windows/linux. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Install VMware Workstation Player VMware Workstation Player includes everything you could need for the standard virtual machine tasks. Proceed through the installation wizard, and restart Windows when prompted. Choose Your Preferred Linux OS You probably know which Linux OS you want to try. Some Linux distros are particularly suited to running in a VM, but others are not. All 32-bit and 64-bit distros work in a virtual machine. However, you cannot run Linux distros for ARM architecture (such as the Raspberry Pi) in VMware. Should you want to emulate an ARM environment in Windows, try QEMU. Create Your Linux Virtual Machine While your Linux ISO downloads, it's a good time to start configuring your VM. Start by launching VMware Workstation Player. When you're ready to create a VM: 1. Click Create a New Virtual Machine 2. Select the default option, Installer disc image file (iso) 3. Click Browse to find the ISO file 4. With "guest" OS selected, click Next 5. Select Linux as the Guest operating system type Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 6. Under Version, scroll through the list and select the OS 7. Click Next to proceed and if necessary, input a Virtual machine name 8. Confirm the storage Location and change if needed With the operating system selected and configured, it's time to build the virtual machine. 1. Under Specify Disk Capacity adjust Maximum disk size if required (the default should be enough) 2. Select Split virtual disk into multiple files as this makes moving the VM to a new PC easy 3. Click Next then confirm the details on the next screen 4. If anything seems wrong click Back, otherwise click Finish Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Your Linux virtual machine will be added to VMware Workstation Player. Customize Your Virtual Hardware In some cases, you might need to customize the virtual machine before installing Linux. Alternatively, you might install the OS and find there is something missing. To fix this, right-click your virtual machine in VMware Workstation Player and select Settings. Here, you can tweak the virtual machine's hardware in other ways beyond the HDD. You have options for the Memory, Processors, Network Adaptor configuration, and much more. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering It's worth taking a look at the Processors screen. In the right-hand pane, you'll spot a reference to a Virtualization engine. By default, this works automatically, but for troubleshooting set Intel VT-x or AMD-V, depending on your CPU. You can address performance issues in the Memory screen. Here you'll spot an illustration of the suggested RAM size, as well as recommended options for your virtual machine. It's a good idea to stick to these recommendations. Going too small will prove a problem, while setting the RAM too high will impact on your PC's performance, slowing everything from standard system tasks to running the VM software! Finally, spare a moment to check the Display settings. Default settings should be fine but if there is an issue with the display you can toggle 3D acceleration. Multiple monitors can be used and custom resolution set, but note that some modes will clash with some desktops. Click OK to confirm changes, then select the virtual machine and click the Play button to begin. Download and Install VMware Tools On the first boot of your virtual machine, you'll be prompted to Download and Install VMware Tools for Linux. Agree to this, then wait as it is downloaded. VMware Tools will enhance the performance of the virtual machine while enabling shared folders between host and guest machines. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering How to Install Linux in VMware When the ISO boots in the virtual machine, it will boot into the live environment. This is a temporary Linux that exists only on the boot media and in the system memory. To ensure the environment persists, use the Install option on the desktop. From this point, the installation will continue as if you're installing an OS on a physical machine. Progress through the installation wizard, creating a user account and setting other options when prompted. Once the installation is complete, you'll be able to log into the Linux virtual machine and start using the guest OS. It's that simple! How to Run Linux in a Virtual Machine Now you can launch the Linux virtual machine at any time using the Play button in VMware Workstation Player. Often, Linux ships with a number of preinstalled applications but if you want something else, check the best Linux apps. By the way, if you just want to get into the Linux terminal, things are far simpler than installing VMware. Check out how to access the bash shell on Windows. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Install Any Linux Distro in a Virtual Machine on Windows! If you want easy access to Linux, the best option is to install it in a virtual machine in Windows. VMware Workstation Player provides the best tools for doing just that. Installing Linux in VMware is simple. Let's run through the steps again: 1. Download the free VMware Workstation Player 2. Install, and restart Windows 3. Create and configure your virtual machine 4. Install Linux in the virtual machine 5. Restart the virtual machine and use Linux. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Experiment -8 Objective - Install HyperV and create a virtual machine, DNS Server creation, Active directory on Windows Server 2008. 1. 2. 3. 4. 5. 6. 7. How to Install and Configure Hyper-V Server 2019/2016? Windows Hyper-V Server is a free hypervisor platform by Microsoft to run virtual machines. In this article, we’ll look on how to install and configure the latest version of Windows Hyper-V Server 2019 released in summer 2019 (this guide also applies to Windows Hyper-V Server 2016). Hyper-V Server 2019 is suitable for those who don’t want to pay for hardware virtualization operating system. The Hyper-V has no restrictions and is free. Windows Hyper-V Server has the following benefits: Support of all popular OSs. There are no compatibility problems. All Windows and modern Linux and FreeBSD operating systems have Hyper-V support. A lot of different ways to backup virtual machines: simple scripts, open-source software, free and commercial versions of popular backup programs. Although Hyper-V Server does not have a GUI Windows Server (graphical management interface), you can manage it remotely using standard Hyper-V Manager that you can install on any computer running Windows. Now it also has a web access using the Windows Admin Center. Hyper-V Server is based on a popular server platform, familiar and easy to work with. You can install Hyper-V on a pseudoRAID, e. g., Inter RAID controller, Windows software RAID. You do not need to license your hypervisor, it is suitable for VDI or Linux VMs. Low hardware requirements. Your processor must support software virtualization (Intel-VT or VMX by Intel, AMD-V (SVM) by AMD) and second-level address translation (SLAT) (Intel EPT or AMD RV). These processor options must be enabled in BIOS/UEFI/nested host. You can find full system requirements on Microsoft website. You should distinguish between Windows Server 2016/2019 with the standard Hyper-V role and Free Hyper-V Server 2019/2016. These are different products. It is worth to note that if you are using a free hypervisor, you are still responsible for licensing your virtual machines. You can run any number of VMs running any opensource OS, like Linux, but you have to license your Windows virtual machines. Desktop Windows editions are licensed with a product key, and if you are using Windows Server as a guest OS, you must license it by the nuber of physical cores on your host. What’s New in Hyper-V Server 2019? Let’s consider new Hyper-V Server 2019 features in brief: 1. Shielded Virtual Machines support for Linux appeared; 2. VM configuration version 9.0 (with hibernation support); 3. ReFS deduplication support; Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Core App Compatibility: the ability to run additional graphic management panels in the Hyper-V server console; 5. Support of 2-node Hyper-V cluster and cross-domain cluster migration How to Install Hyper-V Server 2019/2016? You can download Hyper-V Server 2019 ISO install image -V Server 2019 ISO install image here: https://www.microsoft.com/en-us/evalcenter/evaluatehyper-v-server-2019. After you click Continue, a short registration form will appear. Fill in your data and select the language of the OS to be installed. Wait till the Hyper-V image download is over. The .iso file size is about 2.81GB. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Microsoft Hyper-V Server installation is standard and intuitive. It goes like in Windows 10. Just boot your server (computer) from the ISO image and follow the instructions of the installation wizard. Using Sconfig Tool for Hyper-V Server Basic Configuration After the installation, the system will prompt you to change the administrator password. Change it, and you will get to the hypervisor console. Please note that Hyper-V Server does not have a familiar Windows GUI. You will have to configure most settings through the command line. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering There are two windows on the desktop — the standard command prompt and the sconfig.cmd script window. You can use this script to perform the initial configuration of your Hyper-V server. Enter the number of the menu item you are going to work with in the “Enter number to select an option:” line. 1. The first menu item allows you to join your server to an AD domain or a workgroup. In this example, we’ll join the server to the workgroup called HV- GROUP. 2. Change a hostname of your server. 3. Create a local administrator user (another account, besides the built-in administrator account). I’d like to note that when you enter the local administrator password, the cursor stays in the same place. However, the password and its confirmation are successfully entered. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Enable the remote access to your server. Thus, you will be able to manage it using Server Manager, MMC and PowerShell consoles, connect via RDP, check its availability using ping or tracert. 5. Configure Windows Update. Select one of the three modes: 1. Automatic (automatic update download and installation) 2. DownloadOnly (only download without installation) 3. Manual (the administrator decides whether to download or install the updates) Download and install the latest security updates. Enable RDP access with/without NLA. Configure your network adapter settings. By default, your server receives the IP address from the DHCP server. It is better to configure the static IP address here. Set the date and time of your system. Configure the telemetry. The Hyper-V won’t allow you to disable it completely. Select the mode you want. You can also configure the date, time and time zone using the following command: control timedate.cpl Regional parameters: Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering control intl.cpl These commands open standard consoles. Note! If you have closed all windows and seen the black screen, press Ctrl+Shift+Esc. This key combination works in an RDP session as well and runs the Task Manager. You can use it to start the command prompt or the Hyper-V configuration tool (click File -> Run Task -> cmd.exe or sconfig.cmd). Hyper-V Server 2019 Remote Management To conveniently manage Free Hyper-V Server 2019 from the graphic interface, you can use: Windows Admin Center Hyper-V Manager — this is the method we’ll consider further (as for me, it is more convenient than WAC, at least so far) To manage the Hyper-V Server 2016/2019, you will need a computer running Windows 10 Pro or Enterprise x64 edition. Your Hyper-V server must be accessible by its hostname; and the A record must correspond to it on the DNS server in your domain network. In a workgroup, you will have to create the A record Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering manually on your local DNS or add it to the hosts file on a client computer. In our case, it looks like this: 192.168.2.50 SERVERHV If the account you are using on a client computer differs from the Hyper-V administrator account (and it should be so), you will have to explicitly save your credentials used to connect to the Hyper-V server. To do it, run this command: cmdkey /add: SERVERHV /user:hvadmin /pass:HVPa$$word We have specified the host and the credentials to access Hyper-V. If you have more than one server, do it for each of them. Then start PowerShell prompt as administrator and run the following command: winrm quickconfig Answer YES to all questions, thus you will configure automatic startup of WinRM service and enable remote control rules in your firewall. Add your Hyper-V server to the trusted hosts list: Set-Item WSMan:\localhost\Client\TrustedHosts -Value "SERVERHV" If you have multiple servers, add each of them to trusted hosts. Run the dcomcnfg from the command prompt, and expand the Component Services -> Computers -> My Computer in it. Right-click here, select Properties and go to COM Security -> Access Permissions -> Edit Limits. In the next window check Remote Access permissions for ANONYMOUS ACCESS user. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Then let’s try to connect to the remote server. Run the Computer Management console (compmgmt.msc), right-click on the console root and select Connect to another computer. Now you can manage the Task Scheduler, disks, services and view the event log using standard MMC consoles. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Install Hyper-V Manager on Windows 10. Open Programs and Features (optionalfeatures.exe) and go to Turn Windows Features on or off. In the next window, find Hyper-V and check Hyper-V Management Tools to install it. The Hyper-V Manager snap-in will be installed. Start it and connect to your Hyper-V server. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Using the Hyper-V Manager to manage the hypervisor is generally beyond question. Then I’ll tell about some ways to manage a Hyper-V Server from PowerShell. Using PowerShell to Configure Hyper-V Server 2019 I recommend using PowerShell to configure your Hyper-V Server. Hyper-V module provides over 1,641 cmdlets to manage a Hyper-V server. Get-Command –ModuleHyper-V | Measure-Object Configure the automatic start of the PowerShell console after logon. New-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\run -Name PowerShell -Value "cmd /c start /max C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -noExit" -Type string Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering After logging into the server, a PowerShell window will appear. How to Configure Hyper-V Server 2019 Network Settings from PowerShell? If you have not configured the network settings using sconfig.cmd, you configure them through PowerShell. Using Get-NetIPConfiguration cmdlet, you can view the current IPs configuration of network interface. Assign a static IP address, network mask, default gateway and DNS server addresses. You can get the network adapter index (InterfaceIndex) from the results of the previous cmdlet. New-NetIPAddress -InterfaceIndex 4 -IPAddress 192.168.1.2 -DefaultGateway 192.168.1.1 PrefixLength 24 Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.1.3,192.168.1.4 To configure IPv6, get the interface name using the Get-NetAdapter cmdlet from the PowerShell NetTCPIP module. Check the current IPv6 setting using the following command: Get-NetAdapterBinding -InterfaceDescription "Intel(R) PRO/1000 MT Network Connection" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering You can disable IPv6 as follows: Disable-NetAdapterBinding -InterfaceDescription "Intel(R) PRO/1000 MT Network Connection " -ComponentID ms_tcpip6 Hyper-V Server Remote Management Firewall Configuration You can view the list of cmdlets to manage Windows Firewall using Get-Command: Get-Command -Noun *Firewall* -Module NetSecurity To fully manage your server remotely, run the following commands one by one to enable Windows Firewall allow rules : Enable-NetFireWallRule -DisplayName "Windows Management Instrumentation (DCOM-In)" Enable-NetFireWallRule -DisplayGroup "Remote Event Log Management" Enable-NetFireWallRule -DisplayGroup "Remote Service Management" Enable-NetFireWallRule -DisplayGroup "Remote Volume Management" Enable-NetFireWallRule -DisplayGroup "Windows Firewall Defender Remote Management" Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management" Configuring Hyper-V Storage for Virtual Machines We will use a separate partition on a physical disk to store data (virtual machine files and iso files). View the list of physical disks on your server. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Get-Disk Create a new partition of the largest possible size on the drive and assign the drive letter D: to it. Use the DiskNumber from Get-Disk results. New-Partition -DiskNumber 0 -DriveLetter D –UseMaximumSize Then format the partition as NTFS and specify its label: Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "VMStorage" For more information about disk and partition management cmdlets in PowerShell, check the article PowerShell Disks and Partitions Management. Create a directory where you will store virtual machine settings and vhdx files. The NewItem cmdlet allows you to create nested folders: New-Item -Path "D:\HyperV\VHD" -Type Directory Create D:\ISO folder to store OS distributions images (iso files): New-Item -Path D:\ISO -ItemType Directory To create a shared network folder, use the New-SmbShare cmdlet and grant full access permissions to the group of local administrators of your server: New-SmbShare -Path D:\ISO -Name ISO -Description "OS Distributives" -FullAccess "BUILTIN\Administrators" For more information on basic configuration of Hyper-V Server and Windows Server Core from the command line, see this article. How to Configure Hyper-V Server Host Settings via PowerShell? Open the Hyper-V Server host settings using this command: Get-VMHost | Format-List The paths of virtual machines and virtual disks are located on the same partition as your operation system. It is not correct. Specify the path to the folders created earlier using this command: Set-VMHost -VirtualMachinePath D:\Hyper-V -VirtualHardDiskPath 'D:\HyperV\VHD' Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Creating Hyper-V Virtual Switch Create the External Switch that is connected to the Hyper-V Server phisical NIC and enable VM interaction with the physical network. Check the SR-IOV (Single-Root Input/Output (I/O) Virtualization) support: Get-NetAdapterSriov Get the list of connected network adapters: Get-NetAdapter | where {$_.status -eq "up"} Connect your virtual switch to the network adapter and enable SR-IOV support if it is available. Hint. You won’t be able to enable or disable SR-IOV support after you create the vswitch, and you will have to re-create the switch to change this parameter. New-VMSwitch -Name "Extenal_network" -NetAdapterName "Ethernet 2" -EnableIov 1 Use these cmdlets to check your virtual switch settings: Get-VMSwitch Get-NetIPConfiguration –Detailed This completes the initial setup of Windows Hyper-V Server 2016/2019. You can move on to create and configure your virtual machines. Windows Server 2008 R2 Configure DNS Install Windows DNS Server 1. Click on the Start Menu, Administrative Tools and Launch Server Manager. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. Select the Roles node and click the Add Roles link. 3. Select the DNS Server role check box and click Next. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Click Install to begin installation. Configure Windows DNS Server Creating primary forward and reverse lookup zones, you create a primary name server that is authoritative for the zone that you have created. Or you can create a secondary name server for any zone that you have already created on another DNS server. DNS creates forward lookup zones when you install it as part of creating a new domain. When you install DNS by itself, it does not create any lookup zones. 1. Click on the Start Menu, Administrative Tools, DNS Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 2. Create a Forward Lookup Zone Now (Recommended), and click Next. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. Select the type of zone to be created, choose primary zone and Click Next 4. Type the FQDN of the zone in the zone name box and click next 5. You can create a new zone text file or import one from an existing zone file. choose create a new file with this file name and then click Next. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 6. Do not allow dynamic updates and then click Next. 7. Create a reverse lookup zone and click Next. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 8. Select primary zone for the reverse lookup zone type and click Next. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 9. Accept the default IPv4 Reverse Lookup Zone, and click Next. 10. Type network ID of the reverse lookup zone and click Next. 11. Right click on trainingtech.net forward zone and click add New Host (A or AAAA). Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 12. Type Name of the Server and Click check box option (create associated pointer (PTR) Record and then click Add Host. 13. Select the Forwarders tab. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 14. Click edit. 15. Type IP address of the server or servers that will be forwarders. 16. Click ok to save changes. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Experiment -9 Objective - Install XEN and create a virtual machine on linux Virtualization with Xen: How to create virtual machines The procedure of setting up virtual machines is rather different between the Linux distributions. For example, Ubuntu server offers xen-tools, a tough command line solution in which you have to create a configuration file and use commands with many options (more about that in the next article). On the contrary, Red Hat and SUSE make virtualization easy with the graphical Virtual Machine Manager utility. Virtual Machine Manager works for both para- and fully virtualized environments. After creating the machine with Virtual Machine Manager, you can launch and monitor the VM (virtual machine) from this utility as well. However, some of the more advanced options are not available from Virtual Machine Manager. Examples are the option to migrate a virtual machine between nodes, or creation of a high availability solution. How to create a virtual machine with Xen In the following procedure you'll learn how to install an instance of paravirtualized SUSE Linux Enterprise Server 10 SP1 on top of a SUSE Linux Enterprise 10 SP1 virtualization host. 1. Make sure that your server has booted the Xen kernel. Next, run the virtmanager command to start Virtual Machine Manager. This will give you an interface, as in figure 1. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Figure 1: Virtual Machine Manager provides an interface to all virtual machines on one physical server. 2. From the Virtual Machine Manager interface, click New. This start the virtual machine creation wizard. From the start window of this wizard, click Forward. 3. The wizard now asks what you want to do. If you need to install a brand new operating system, select "I need to install an operating system." If you want to use a disk or disk image on which the operating system has been pre-installed, select "I have a disk or disk image with an installed operating system," as in figure 2. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Figure 2: Select I need to install an operating system to start installation of a new virtual machine. 4. From the list of available operating systems, select SUSE Linux Enterprise Server 10 and click Forward. You'll now see the summary window as in figure 3. Figure 3: From the summary window you can configure the complete virtual machine. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering *Note: When choosing an operating system to install as a virtual machine, try to select an operating system that you can install from a DVD instead of CD's. In the current version of SUSE Linux Enterprise Server, Xen has a problem installing from CD's. The alternative is to configure an installation server to install the operating system of your choice. 5. In the summary window, several installation options are available. First, under Virtualization Method you can select the kind of virtualization you want to use. If your CPU has virtualization support, select "Full virtualization." If it doesn't, "Paravirtualization" is your only choice. SUSE Linux Enterprise Server 10 SP1 can be installed as a paravirtualized operating system without difficulty, but not all operating systems offer that possibility. 6. Next, select the name of the virtual machine. If you don't enter a name yourself, the installer will create a name for you. 7. Now click the "Hardware" link to configure memory and CPU. When configuring memory, you'll notice a difference between Initial Memory and Maximum Memory. The initial memory is the memory that is allocated to a virtual machine when it first boots. I recommend to set that to a relatively low value, as it can be increased easily. The maximum amount of memory is the amount of memory that the virtual machine can use as a maximum. This is not a dynamic allocation; it just specifies the upper limit. There is no problem setting it equal to the amount of RAM you have in your server. Next, select the amount of virtual processors the machine can use. It makes no sense to set the amount of virtual CPU's higher than the amount of available processors, but if you want to see what it looks like to have 32 processors -- the maximum amount that is possible -- on a physical machine that has one CPU only, you can specify that here. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Figure 4: Both the amount of memory and the amount of CPU's available to a virtual machine can be changed easily later. 8. As for the graphics adapter, a paravirtualized graphics adapter is used as a default. This adapter performs fine, so there is no need to change it in most cases. 9. One of the most important choices when setting up a virtual machine is the disk that you want to use. The default choice of the installer is to create a disk image file in the directory /var/lib/xen/images. This is fine, but for performance reasons, it's a good idea to set up LVM volumes and use an LVM volume as the virtualized disk. To keep setting up the virtual machine easy, in this article we'll configure a virtual disk based on a disk image file. Click the link Disks. This gives an overview in which you can see the disk that the installer has created for you. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Figure 5: Both the amount of memory and the amount of CPUs available to a virtual machine can be changed easily later. *Note: Here's a tip. Want to use your virtual machines in a data center? Put the disk image files on the SAN, which makes migrating a virtual machine to another host much easier! 10. To change disk properties, such as the size or location of the disk file, select the virtual disk and click "Edit." Change the disk properties according to your needs now. 11. As you can see in figure 5, the installation wizard doesn't give you access to an optical drive by default. You may want to set this up anyway, if only to be able to perform the installation from the installation DVD! Click CD-ROM and select the medium you want to use as the optical drive within the virtual machine. By default this is /dev/cdrom on the host operating system. If you want to install from an ISO file, use the Open button to browse to the location of the ISO file. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Figure 6: It is easy to select an ISO-file instead of a physical CD-rom. 12. In the Network Adapters part of the summary window, you'll see that a paravirtualized network adapter has been added automatically. We'll talk about network adapters later, so let's just keep it this way now. 13. Now check that under Operating System Installation an installation source is mentioned. If it is, it's time to click OK and deploy of your virtual machine. After installing the virtual operating system, you can access it from Virtual Machine Manager. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Experiment -10 Objective - VNC Server configuration on linux. To Setup VNC Server (Linux Remote Desktop Access) on CentOS/RHEL and Fedora VNC ( Virtual Network Computing ) Servers enables remote desktop access for Linux systems similar to MSTSC in windows. Generally Linux administrators doesn’t prefer to use windows access, But some times we required to have access remote desktop of Linux. In that case we need to install vnc server on our Linux system. This tutorial will help you to Setup VNC Server and configure remote access for users on CentOS, RHEL and Fedora Users. Step 1: Install Required Packages Most of Linux servers doesn’t have desktop installed on their system. So make sure you have installed else use following command to install it. For CentOS/RHEL 6:: # yum groupinstall "Desktop" For CentOS/RHEL 5: # yum groupinstall "GNOME Desktop Environment" Now install few required packages for vnc-server # yum install pixman pixman-devel libXfont Step 2: Install VNC Server After installing required packages, lets install vnc-server in your system. vnc-server is available under default yum repositories. # yum install vnc-server On CentOS/RHEL 6, you will see that tigervnc-server package will be installed. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Step 3: Create User for VNC Lets’ create few users for connecting through vnc. You can also use existing system users by connecting through vnc, In that case we only need to set vncpasswd for that account. # useradd user1 # passwd user1 # useradd user2 # passwd user2 Now set the vnc password for all accounts need to connect through vnc. # su - user1 $ vncpasswd $ exit # su - user2 $ vncpasswd $ exit Step 4: Configure VNC Server for Users Now edit /etc/sysconfig/vncservers configuration file and add the following to the end of the file. VNCSERVERS="1:user1 2:user2" VNCSERVERARGS[1]="-geometry 800x600" VNCSERVERARGS[2]="-geometry 1024x768" Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Where VNCSERVERS is the list of users need to connect, VNCSERVERARGS defined the screen size. Like user1 have a 800×600 screen, and user2 have 1024×768 screen size on his client. Now start vnc-server service using following command and check the output # service vncserver start Starting VNC server: 1:user1 xauth: creating new authority file /home/user1/.Xauthority New 'svr1.tecadmin.net:1 (user1)' desktop is svr1.tecadmin.net:1 Creating default startup script /home/user1/.vnc/xstartup Starting applications specified in /home/user1/.vnc/xstartup Log file is /home/user1/.vnc/svr1.tecadmin.net:1.log 2:user2 xauth: creating new authority file /home/user2/.Xauthority New 'svr1.tecadmin.net:2 (user2)' desktop is svr1.tecadmin.net:2 Creating default startup script /home/user2/.vnc/xstartup Starting applications specified in /home/user2/.vnc/xstartup Log file is /home/user2/.vnc/svr1.tecadmin.net:2.log Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering [ OK ] As per above output, you can see that user1 desktop is available on :1 and user2 desktop is available on :2. We will use :1 to connect to user1 and :2 to connect to user2. Step 5: Connect VNC Server using VNC Viewer To access from remote Linux system use following command. # vncviewer 192.168.1.11:1 To access remote desktop on vnc-server from windows system, you must have vnc-viewer installed on your system. There are various vnc viewer available to use. After installing vnc viewer connect to your system, In below example we are connected to user1 (:1). Now enter vnc password of account assigned with vncpasswd command. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering You are connected to x windows system of your Linux machine. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Experiment -11 Objective – Creating virtual machine on Microsoft Windows Azure. Create a new Windows virtual machine You can create Windows VMs with the Azure portal, Azure CLI, or Azure PowerShell. The best approach is to use the portal because the Create a virtual machine wizard collects all the required information and provides hints and validation messages throughout the process. 1. Sign in to the Azure portal using the same account you used to activate the sandbox. 2. On the Azure portal, under Azure services, select Create a resource. The Create a resource pane appears. 3. In Search services and marketplace search box, search for and select Windows Server, and press Enter. The Windows Server pane appears. 4. There are several Windows Server options to choose from to create your VM. In the Plan dropdown list, scroll down, and select [smalldisk] Windows Server 2019 Datacenter - Gen 2. 5. Select Create. The Create a virtual machine pane appears. Configure the VM settings Azure presents a wizard as a series of tabs to walk you through all the configuration details for creating the VM. The first tab is Basics. You can select Next or Previous to move from one tab to another, or you can select any tab in the horizontal menu to move to a customizable configuration section. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Configure basic VM settings Note As you add or change settings in the wizard, Azure validates each value and places a green check mark next to a validated field, or red error indicator below the field. You can hover over an error indicator to get more information about a validation issue. Note It's a best practice to use a standard naming convention for resource names so you can easily identify their purpose. Windows VM names are a bit limited - they must be between 1 and 15 characters, cannot contain non-ASCII or special characters, and must be unique in the current resource group. 1. On the Basics tab, enter the following values for each setting. Setting Value Project details Subscription Concierge Subscription (the subscription that should be billed for VM hours). Resource Group Select [sandbox resource group name]. Instance details Virtual machine name Enter a name for your VM, such as test-vp-vm2 (for Test Video Processor VM #2). Region Select a region close to you from the global regions listed in the following table. Availability options Accept default No infrastructure redundancy required. This option is used to ensure the VM is highly available by grouping multiple VMs together to deal with planned or unplanned maintenance events or outages. Security type Standard Image Select [smalldisk] Windows Server 2019 Datacenter - Gen1 from the dropdown list. Azure Spot instance Accept default (unchecked). Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering The Size field is not directly editable. Select or accept the default Standard DS1 v2, which will give the VM 1 CPU and 3.5 GB of memory. Optionally, select the field to view recommended or recently chosen sizes; select See all sizes to explore filters for sizes based on vCPUs, RAM, Data disks, operations per second, and cost. Select the X in the top right of the pane to close the pane. Size Administrator account Username Enter a username you will use to sign in to the VM. Password Enter a password that's at least 12 characters long and has at least three of the following four characteristics: one lower case character, one uppercase character, one number, and one special character that is not '\' or '-'. Use something you will remember or write it down, as you will need it later. Confirm password Confirm your password. Inbound port rules Public inbound ports Select Allow selected ports. We want to be able to access the desktop for this Windows VM using RDP. Select inbound ports Select RDP (3389) from the dropdown list. As the note in the UI indicates, we can also adjust the network ports after we create the VM. Licensing Would you like to use an existing Windows Server License Leave unchecked 2. The free sandbox allows you to create resources in a subset of the Azure global regions. Select a region from the following list when you create resources: o o o o o o o o o West US 2 South Central US Central US East US West Europe Southeast Asia Japan East Brazil South Australia Southeast Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering o Central India 3. Select Next : Disks. Tip You can use the horizonal scroll bar to slide the view to the left to get back to the VM settings, which had opened a new pane to the right. Configure disks for the VM 1. On the Disks tab, enter or select the following values for each setting. Setting Value Disk options OS disk type Accept the default Premium SSD (locally redundant storage). Encryption type Accept the default (Default) Encryption at-rest with a platformmanaged key. Enable Ultra Disk compatibility Accept default (unchecked) Data disks Select Create and attach a new disk link. The Create a new disk pane appears. Accept all the default values for the following settings: Name; Source type; Size; Encryption type; and Enable shared disk. This is where you could use a snapshot, or Storage Blob, to create a VHD. 2. Select OK to save the settings, and close the pane. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 3. On the Create a virtual machine pane Disks tab, under Data disks, there should now be a new row showing the newly configured disk. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering Configure the network 1. Select Next : Networking. In a production system, where other components are already in use, it would be important to use an existing virtual network so that the VM can communicate with the other cloud services in the production solution. If no virtual network has defined in this location, create it here and configure the: o o Subnet: First subnet to subdivide the address space - it must fit within the defined address space. After the VNet is created, you can add more subnets. Public IP: Overall IPV4 space available to this network. 2. On the Networking tab, let's change some of the settings. Under the input field for Virtual network, select Create new. The Create virtual network pane appears. 3. On the Create virtual network pane, enter the following values for each setting. Setting Value Address space Address range Select the checkbox in the row below the heading, and enter 172.16.0.0/16 to give the address space a full range of addresses. If another address range row exists, select it to delete it. Subnets Subnet name Select the checkbox in the row below the heading, and enter default in the first input field. If another row exists, select it to delete it. Address range In the empty input field, enter 172.16.1.0/24 to give the subnet 256 IP addresses of space. Gyan Ganga Institute of Technology and Sciences, Jabalpur Computer Science & Engineering 4. Select OK to save your settings and return to the Create a virtual machine pane. Note By default, Azure will create a virtual network, network interface, and public IP for your VM. It's not trivial to change networking options after the VM has been created so always double-check the network assignments for services you create in Azure. Finish configuring the VM and create the image On the Create a virtual machine pane, the rest of the tabs have reasonable defaults and there's no need to change any of them. You can explore the other tabs if you like. Each field has an (i) icon next to it which, if selected, will show a detailed definition of that configuration setting. Reviewing field descriptions is a great way to learn about the settings you can use to configure the VM. 1. Select Review + create. The system will validate your options and display details about the VM being created. 2. Select Create to deploy the VM. The Azure dashboard will show the name VM that's being deployed and details about your deployment. Deployment may take several minutes. 3. After deployment completes, select Go to resource. Your virtual machine pane appears.