IT related businesses are evolving, and they are using virtualization technology to help them as there are so many benefits. Microsoft provides this virtualization service visa Hyper-V. so many organizations use Hyper-V to utilize the benefits virtualization into their system. Organization uses Hyper-V to make a virtualized environment. There are so mane features and services provided by Hyper-V. my groupmates and I decided to work on project related to features of Hyper-V so we can learn about Hyper-V which will be beneficial for us. Our project includes Containers, Nano servers and dockers. We will use these features so that we can manage a virtual machine remotely via software like power shell. In this project we will create a virtual machine in container. We will use docker to manage this container. By creating Virtual machine in container, it will be in isolated entity. The aim of that is providing security as this virtual machine will not be connected directly to the host OS so if in case the security of OS gets compromised still it will be hard to get unauthorized access of this virtualized machine. After creating a virtual machine, we can modify the settings of that machine but for some of these services to modify we must turn of this the virtual machine. And for an organization it’s important to maintain the availability of these servers and virtual machine. By implementing Hot-add memory we will be able to modify those settings as well without having any down time for these virtual machines. Our project will also include creating and managing a virtual machine with PowerShell direct.
Background of Project:
Our project is on features of Microsoft’s Hyper-V. now days organizations prefers to use Microsoft Windows OS for their network and servers and if they use Widows Server 2012 OS, they also get Hyper-V that they can install and configure. To create virtual environment organization can use Hyper-V and Microsoft simplified it to create virtual machines enough. To understand Microsoft’s Hyper-V better and what features and services it has to offer we will include Docker, Containers, Nano server and Hot Add Memory in real life server’s environment where we will perform the project on 3 Servers with genuine and suitable OS according to our project. We will also implement Hot Add Networking so that we can add or remove networking adapter without having to turn off the Virtual Machine. This modification can be done by using PowerShell Direct as well.
Below are the resources and technologies that we used while performing this task.
We created an environment with three physical servers. The configuration of these servers should have at least 8Gb of RAM according to the requirements of the Project. The processors of this servers should be compatible for Windows 10 OS and Windows Server OS. We also used physical switch with all these three servers so all of these servers should have network adapter to connect with each other’s through domain. There should be at least 100 GB storage available in all these three servers.
Also, every software and technology we used in this project resolves with Microsoft’s technologies. This project had three Operating system and those were the first software requirements. For client server implementation we needed two OS and we downloaded it from Microsoft’s Website, and it was the trial version. This trial version was officially valid for 180 days so Downloading and Installing OS into the systems was not hard thing. Though choosing the right OS for our project was difficult. For administrator and domain creation we installed Windows Server 2016 in one of the machines. The other Software Requirement was Hyper-V as our project is about Hyper-V and its features. We installed and configure Hyper-V and VM consoles that are useful to manage Virtual machines. Both Operating already has Power Shell Installed so these requirements were already fulfilled. The other Software Requirement was Docker Desktop for Windows. These Docker was important as through that we can manage containers and Nano Servers. We downloaded the docker from Docker Hub. These all are Software Requirements.
We have good knowledge about managing Hyper-V, but these features were new for us so before start performing the practical, we done plenty of researches so every step we take during Practical phase don’t affect the outcome or in-between processes. For example we had to make sure that we use suitable option of Windows 10 to install and configure Docker first we installed essential and after that we realized that essential was not good option for Docker so we had to install Windows 10 Pro to Install Docker properly. So, at every stage of the practical we had to make sure that every step we are taking, every service we are installing is genuine for our project.
Below is the deployment model we created after performing our project on Microsoft Self-paced lab for serval times. We followed this Model so that we can understand what basics are need to taken care of while performing different practical tasks. The Deployment model of our project includes Operating System that we installed on different Servers. It also includes the Servers Name with their Ip addresses. We can see that all of these servers are connected to a domain via the switch. After creating this deployment model creating real environment became easy.
Figure 1: Deployment Model OF Our Project
Figure 2: Block Diagram with all features
Figure 2 shows the Relation of features with software we used in this project such as PowerShell and Hyper-V. as the Diagram shows some of the features are available in windows OS such as Power Shel and Hyper-V. we Don’t have to download any additional data for this software. After using this we can download additional software requirements ad these requirements can be downloaded from PowerShell. Still we had to find the commands that are usable to download these features. Researching on these commands took longer than we expected but still we figured it out in decided timeline which was a good sign for this project. As we can see In figure 2 we downloaded PowerShell Direct, Hot Add Networking and Hot Add memory from Power Shell through the commands. To Perform all tasks about Nano Server and Containers we Installed Docker.
Figure 3:Implementation Model
As we can see in the flow chart of Figure 2, the process of practical start with creating servers with necessary technical requirements. Some features might not work at the end of this project if these servers are not configured properly and required technical and hardware requirements are not fulfilled. Our first step was finished which was setting up environment with proper Operating System and requirements. As shown is figure 2 the 2nd step is to download and configure Docker. After installing and configuring docker the next step is to download Base image of Nano server and install it in a container. We can download this Nano Server from Microsoft through a Command in Power Shell as an administrator. After the downloading of Nano Server is successfully completed. The 3rd step is to run and test the containers. There are various purposes of containers in Virtual environment. Considering our project, we used the containers for security and testing as it’s isolated from its host. Also, so we can understand how applications works in a container. The other features we have included in our projects are Hot Add memory, Hot Add networking and PowerShell Direct. To utilize these features, we will be using a virtual machine. We will create a 2nd generation Virtual machine as PowerShell direct only works with that version. To manage a virtual machine through PowerShell direct there should be an OS installed in this virtual machine and this OS should be Linux OS or Windows OS. After we configure Hot Add memory and Hot Add networking we can manage and modify some functions of virtual machine without having to shut down. In our project we were successful in changing the RAM of a virtual machine with out turning it off. We can also modify this setting with PowerShell Direct As well with specific commands. Sometimes these virtual machines get errors and that can affect to these modifications so it’s better for an organization to check that the modification that they have done are implemented automatically in their virtual machine or not. With the right knowledge an administrator can perform well in managing the Virtual machine through PowerShell direct. After we complete the project, we will perform some modifications as I mentioned to test that we have successfully completed our project in decided timeline.
Client Server Implementation:
To perform this project with expected result we utilized Microsoft self-paced lab to setup a real-life environment. As our requirement we needed three servers. We had to install Operating system in these machines as our requirements. Two of these machines we installed proper Microsoft 180 trial version of Windows Server 2016. The other one machine we installed Windows 10 Pro OS trial of 180 days. We configured first Windows Server 2016 as our domain server. We created a domain and connected all these other machines with that forest so that it can get connected to each other. We connected these machines with each other with domain forest through switch so for that network adapter was required foe all these three machines. After all the connections are established, we started working on all the features we need to add to complete this project.
The Docker was the 1st feature we installed after establishing the domain between all the machines. We downloaded docker from Docker Hub and installed it on Windows 10 pro. It was easy to download and install Docker and it was free. In order to successfully install Docker, two features should be enabled. (Source, 2018)
Figure 4: Windows Features for Docker
As we can see in figure 4, Windows container and Windows Hyper-V are the features required to install Docker. Since we installed and use Windows 10 Pro. After installing the Docker, we will be able to download Nano server base image.
A Nano server is required to manage containers. We had to download Nano Server base image from the Microsoft’s Repository. To download a Nano server base image, we used Power shell and used Docker pull command. We saved the Nano server image as a .tar file to a specified path. The reason we saved it in tar format as Nano server image contains multiple files so its better as .tar archive all files into a single file. (Hall, 2017)
Once Nano server and Docker are installed on the machine, we moved on next step which is creating container using PowerShell. Nano sever image will be used as a UI to manage containers.
Outcome of the Project:
After installing all the features on the machines successfully by planned now we are able to create virtual machine through PowerShell with Commands. By following and performing these project administrators can manage and create virtual machine remotely, and that lets administrator create and mange virtual machines remotely without opening Hyper-V console.
Figure 5: Using PowerShell for Creating Virtual machine
As we show in figure 3 the New-VM cmdlet was used to create a virtual machine with name Nano Workload.
After the creation of Virtual machine is created. We are now able to modify the configuration without having a downtime. As I mentioned that the virtual machine should be a 2nd generation to these modifications to work. The OS it works on are Linux OS and Windows OS. As we can see in Figure 5 that memory allocated to the virtual machine is 512MB. Normally if we must modify the Ram of virtual machine we have to turn of the virtual machine. But as we have installed Hot Add Memory and Hot Add Memory, we can change it with the PowerShell direct with specified commands.
Figure 6: Modifying Configuration of Virtual machine
As we have performed a command in figure 6, we can change allocated memory from 512Mb to 1GB. The command we used is Set-VMMemory cmdlet. To verify that the command worked successfully we checked it through Hyper-V console as we can see in figure 7. In figure 7 we can see that first the Assigned Memory of Nano Workload Virtual machine was 512 GB. After using PowerShell and specified command in figure 7 we modified Assigned Memory with Set-VMMemory cmdlet. After using this command, we checker Hyper-V console to verify that it worked. As we can see in Figure 7 that the command worked.
Figure 7: Comparing the Virtual machine’s allocated memory
We can add or remove network adapters of Virtual Machine by using PowerShell Direct.
While performing all the tasks we faced some issues related to lack of knowledge, some services unavailability etc. below are the detailed problems that my group members and I faced during this Project.
Finding a Compatible Operating System to Support Features:
In this project our aim was to learn more about features of Hyper-V, so these features were new for us. There are various versions of Microsoft Windows OS and it was hard to chose which one was proper and suitable for our project as some of these features that were going to implement in our project were compatible with some OS some features were not. We tried to find an appropriate Operating system for our project but it was still hard to find with information. So, we tried some Operating System anyway to see if those were correcting or not. We first installed Windows 10 Enterprise and we got some compatibility issues. After installing all the features, we installed docker but because of the OS compatibilities issues Docker was keep crashing so we removed that OS and installed Windows 10 Pro.
Choosing Docker Version:
When we tried to download Docker from Docker hub, we had some options of Docker available such as stable version which have limited functionality. There is also an advanced version. This version cannot be stable still it provides more functionality. There are different versions of both docker types. First, we installed the Stable version it was working well with both Windows Server 2016 and Windows 10 Pro OS. After some other steps we were having trouble using Docker in Windows 10 Pro though it was working good in Windows server 2016. So, we decided to change it still we were not sure which version we should install now. After doing some research we downloaded and installed Docker’s older version which we got to understand that works well with both Windows server and Windows 10.
Downloading Nano Server base image:
After solving the problem of Docker, we faced another issue which we were thinking is one of the major problems for us. We were able to pull the Nano Server image as Microsoft removed the tag feature from repository. We were having some errors when we were running the Nano Server Image Pulling command. After we tried to use some other commands to pull Nano Server Image, we decided to search for any other open source repositories to pull Nano server image. After trying multiple sources, we finally found a right repository. After that we downloaded and configures the Nano Server image on our machine. (Docker, 2018)
After finishing our project and implementing all the features in real environment, we learned more about Hyper-V and PowerShell. We finally used PowerShell Direct to manage and modify Virtual Machines through Commands. The other big benefit and goal of this project was to be able to modify the configuration of the virtual machine without turning it off. That can we useful for an organization which don’t want to have ay downtime for their virtual servers. By Adding Hot Add Memory we were able to change the RAM of Virtual machine without having to turn it off. The other feature we implemented was Hot Add Networking which made us able to Add and Remove Network adaptors of a Virtual machine through Hyper-V console and Power Shell Direct as well with knowledge about specific commands. After completing this project, we were also able to manage Virtual machine remotely visa Power Shell Direct. We have done so many researches while working on this project that we now even have knowledge about more features as well including the features I have mentioned in this report.
- Docker, H. (2018, 11). Hub.Docker. Retrieved from Hub.Docker: https://hub.docker.com/_/microsoft-windows-nanoserver
- Hall, J. (2017, 06 09). Microsoft . Retrieved from Microsoft Docs: https://docs.microsoft.com/en-us/windows-server/get-started/getting-started-with-nano-server
- Source, O. (2018, 09). OpenSOurce. Retrieved from OpenSource: https://opensource.com/resources/what-docker
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: