Networking and Server • 40:47
This session presents options for using NetBoot and NetInstall in the Mac OS X Server, including how to set up and customize the product and how to allow your products to use NetBoot and NetInstall. Configuration options and licensing issues are also discussed.
Speaker: Rob Neville
Unlisted on Apple Developer site
Transcript
This transcript was generated using Whisper, it may have transcription errors.
Good morning, everybody. I'm Rob, and today-- we have a good crowd. We're going to be talking about NetBoot and network installation. This is a portion of the Jaguar 10 server product. My name is Rob Neville. So this session is a little bit different from a lot of sessions that we have here at WWDC in that the net boot and network installation products or portions of the server products are not specifically geared around the developer community producing products on top of.
the net boot and network installation products are useful and are going to be utilized by your customers hopefully and also by probably as i'd look around the room and see some familiar faces probably a lot of you all in the room in past years what we found and this is the first year we've been talking specifically about this product that they're quite a few of you here who are actually users of the server product specifically and the net boot and net installation that we're going to be delivering to you in the next couple of months, and your users of the product, your people who actually install and run and have customers who live on top of this. And we're going to be gearing a lot of our talk today about that. If, however, you are developers, there are some things that you should keep in mind. There potentially are some things which, if you want to have your software installed in this environment, that you're going to have to pay attention to.
So Netboot, it's coming in a new flavor. Netboot for Jaguar, we've got a variety of new types of offerings. We're going to be able to give you netbooting for Mac OS 9, the same way as we do today, and Mac OS X. In addition, we're going to be supporting network installation. As part of that process, we're going to give you in the 10 environment some new tools for customizing both your NetBoot and your NetInstall images.
I want you to know that this is going to be part of the Jaguar server product, but it's not part of the developer CDs that you all received. Those of you who are interested received a Jaguar 10 server CD that was available. This is not on that disc. Netboot images in and of themselves, for those of you who are familiar with the product, can get to be quite large. And the actual packaging of that is still being worked out in some fashion. And we decided that it was just too much data to be able to give you this particular product at this particular time.
So what we're going to talk about today, what do I want you to take out of this particular session? For those of you who are not familiar with NetBoot, we're going to be talking a little bit about what the product is, where it's come from, NetBoot on 9. We're going to tell you what's different and what's the same about NetBoot on 10. We're going to talk about network installation and what that means, how that works, things that you're going to need to watch out for, and we're going to talk a little bit about the tools we have for customizing this particular installation and customizing your net boot images.
I also want you all to know that this particular technology is pretty powerful stuff. This is a power tool. For those of you who are implementing and deploying this particular tool, the capabilities of it are not simple and not real easy to configure and set up. This is not something which you want to give to a trivial administrator or someone who maybe administrates adding users to your file server, those kinds of There are a lot of different steps to this process, and as we add the possibility of doing network installations, you're really going to want to keep some control over this particular process. Thank you. Netboot for 9. What is Netboot? Netboot is the ability for a Macintosh to mount or come up or boot from a disk image that's out on a server.
Currently, the current product that we have today and the product that we've shipped from the first iteration of Mac OS X, a couple of years ago now, is a version of Mac OS 9. We ship it on four flavors. The four flavors we ship are the four languages that we support. Thank you. Those languages come in images. The images reside in a CD. The CD gets installed in the system in a specific location. You can boot up to 50 clients in the current iterations against that. It's a read-only volume.
We have shadow files on the hard drive, on the local server hard drive, that allow for write space. You can boot a 9 image. We gave you tools to allow you to modify that image. They were a little bit tedious, a little bit ponderous, but allows you to put things into the-- some of you have used the tool, I can tell from the laughter-- We provide four languages. For Netboot for 9, what's different is today you can only have a single image on a server. Let's say, for example, I wanted to have a server in a school kind of situation, and I wanted to have a French version for my French class. Well, I'd have to put that French image on one server and my English image with my math applications or whatever on another server. You can only have one image on one server. We're providing multiple image support in the new release. There's going to be some changes that that's going to entail in the way your images get packaged on the server.
You'll still be able to use the same image files, but how they're packaged and where they're put on the server is going to need to change. But the images will stay the same. We're going to be giving you that same Netboot disk application, MBDA, that those of you who used it loved so well and giving us a strong feedback, asking us not to change it ever. We're moving towards-- for the 10 environment, we're moving towards disk copy, but for the 9 facility, we really don't have the resources to be able to rev the 9 product going forward in that particular-- with that particular tool. So that's the tool that is going to remain in play. We're going to try and give you an easier-- more productive experience when you're modifying your 10 images.
So now we get into some of the stuff that's really new, and that is we're going to be netbooting 10. I'm kind of excited about being able to netboot 10. From my particular standpoint, excuse me, from my standpoint, this makes my life a whole lot easier on the other products that I manage, in that now that I've got multiple image support, if I'm running a version of Jaguar, and we iterate those occasionally to add features and to fix bugs and things before we ship, and I need to regress, find out when a particular feature went in or stopped working, I can now net boot that image. And I don't have to install the whole thing to find out whether or not that functionality was there.
So you can net boot an installation to test whether or not you've got a particular configuration for your users if you're installing this. You can create multiple copies of 10 to install and test to see whether or not you've got the right mix of applications for your users.
It's... The other nice thing about it is, and what we've found, though I'm not going to be making any sort of performance... promises at all. But what we found is that the experience that you have with 10 is that you boot to the login window, and that may take some amount of time because you're loading the kernel and you're loading a bunch of the underlying pieces, but you do that once. And then when the users, they tend not to, like they did with Mac OS 9, they tend not to shut down. They tend to log out. So now you're sitting there at the login prompt, which is running and you log out and you log back in and that experience for your users is going to be much faster.
So we're also providing a new tool for modifying the images, and we call it the Network Image Utility. Very catchy name. It's the new tool. And the other thing to consider, and I think this is going to help those of you who work in a more enterprise kind of setting, is we're going to be booting... Today we're going to be booting over NFS for Mac OS X. What that allows you to do is to put your images of various multiple images, allows you to put it on big iron in the back and point to it from your Mac OS X server and just mount it over NFS. It gets exported over NFS. The server is what... The image file itself is HFS+, but where you can store it and where it gets mounted from and loaded from is over NFS. So it gives you a little bit more flexibility. Thank you. So we also support classic inside the Mac OS X image. But there's a big but here. We don't install it for you.
With Netboot for 10, ostensibly what we did was we gave you four localized images. Well, we did that because you used them. If you didn't use them, you would have given us some sort of feedback and told us you didn't need them or want them. But you use these localized images. And we don't know which particular version of the OS or which localized version of the OS that you want. So basically what we have is the tool that we use will create a 10 boot image.
And then what you need to do is you need to mount that. So it's a disk copy image, so you just mount it like you mount any other disk copy image. And then what you do is you go get the version of 9.2.2 that you want to install, insert that, install that system into the image. Well, so now you've got an installed image there, and if you stopped there, and every time you started up the machine, your users would get the experience of running through the setup assistant for Mac OS 9 every time they wanted to launch Classic. So what you do is you don't want them to have that experience. What you do is you then, with that image still mounted read/write, you point your Classic startup at the image that you just installed. And then you launch it. And you configure it how you will save your file and now you have something where you can launch, basically your users can launch Classic. We are not supporting being able to net boot 9 from inside classic. So you can't go into classic and point to a net boot image of 9.
Now, some of you are giggling and laughing, but we've had that request and there is some logic behind that request. The ability to, the same reason you'd use netboot in the first place is because you want to be able to only support one known image, read only. And you So that's why people wanted to be able to netboot their classic folder, but we don't support that.
So the caveat here is you're doing the installation. So we're not going to be holding your hand. If you want to install a non-supported version of 9 that Classic won't launch with, knock yourselves out. Your users aren't going to be able to use it. And that's the other reason. We recommend that you test these installations before you roll them into production.
So what's network installation? Well, the short answer for network installation is that network installation is net booting to the installer. So what does that give me? Well, that gives me a couple of things. First, it gives me the ability to take what, in essence, is the user CD that you get with Jaguar, put an image of that on the server, and now have everybody in your enterprise or in your school or whatever community is seeing that particular server, it allows them to install without having to have the CD.
So, well, that's good, but I tend not to install OSs every day, so that's not, maybe not be real useful. Now, it might be extraordinarily useful for the times when, if you're in charge of the new equipment coming into your enterprise, and you want to make sure that it's got the latest version of the OS on it, or the version that you're supporting, maybe not the latest, but the version you're supporting, then you can just come in, have these things run a net install as soon as they come in the door. the other thing you can do is you can put your apps on it You can also, since it boots to the installer, you can take out the OS and put whatever applications, utilities, scripts, customized widgets, anything you want, into the install package and have it install.
you can create your own packages. So I think that gives you a real lot of flexibility from a network installation standpoint. And the other thing, and this is something which we use to solve a particular customer issue, is that if... I give out to my particular customer base, CPUs. I own them. I may not want to give them root access to those machines, and yet I want to be able to update their software or to install new bits on their disks. But I don't want to give them root access to the machine. So how can I do that? Well, in this particular way, what you can do is you can say, "Run licensed app install.
the installer is running as root, and it'll install all the bits in the right place. So you don't have to give the user the root password, so you can still keep some modicum of control. The other thing, and this is where we get into a little bit of the power tool area, is you can automate these installations. You can run these things.
Currently, you run an installer and it asks you a series of questions. A lot of times, you're just clicking the arrow. Sometimes, you have to really enter data. For those of you who want to do unattended installations, we're giving you that capability. If you want to do some level of attended installation, we're giving you that capability as well. With this capability, we're giving you responsibility. We're giving you the authority. We're giving you the power to do nasty things. Amen.
So how does NetBoot work? For those of you who aren't familiar with the product, NetBoot works similarly in both environments. I won't go into the original NetBoot that shipped way back when because that works a little bit differently. But in general, the way the current NetBoot works is the clients that you see, they request, after they get a DHCP address, from whatever DHCP server you happen to have on your network. They make a BSDP request over DHCP to discover a multicast for a server. Thank you. And the first server that they get that responds to them will be the server that they attempt to boot from.
And that's if they don't do anything at all. So if I come in, I haven't configured my machine at all, I hold down the hardware interrupt, which is the N key, and I want to boot, it's going to do a broadcast, it's going to find the first responding Netboot server, and for 9, what it's going to do, it's going to TFTP down the boot ROM, then it's going to mount an image over AFP, and you're up and running. for 10, what's going to happen is it's going to download the kernel, then it's going to establish an NFS session to the server, and it's going to load your root partition over NFS. So... We give the users another mechanism for doing that. Once you've made that connection, you are then bound. The server knows about you. You know about the server. That data is stored on the machine in parameter RAM. So next time you netboot, it's going to try and netboot to the same server.
So the trick is, what if the server that it netbooted from goes away? Well, then it's going to try and netboot again, and it's going to find another server. Well, now it's going to bind to that new server. So that if I have two servers and I'm netbooting from server A, and then server A goes away, and next time I netboot from server B, I'm going to continue to netboot from server B even if server A comes back.
So that's the unattended installation. However, we are giving you new tools to be able to pick, since we now have multiple images. We're giving you the capability to pick those. And we'll get into those in a little bit. Network image utility, the new tool. This is going to allow you to ostensibly create net boot images. I was talking to a gentleman earlier, before the session, and... Quite frankly, I want to be out of the business of providing netboot images. Every time a CPU ships, every time there's a new widget that our wonderful people in the CoreOS ship, every time we rev the system or produce a software update or a fix, I have to rev Netboot.
Um, that's, that's a lot of, that's a lot of overhead. Um, it, it also, um, it's also, I'm making the assumption for you about what it is that you want or need. Thank you. So what I'd like to do is get out of the business of creating netboot images. And the way I'm going to do that is I'm going to give the ability to you. Thank you. And the way that we're doing that in 10 is through the network image utility.
and through disk copy, ostensibly, is you're going to be able to create images, mount them with disk copy, modify them to your heart's content in a much easier fashion than you could with NBDA. We're going to allow you to create boot images from CDs. Thank you. from installation disks. We're going to give you new system preferences and control panels to allow your users to pick which image they wish to boot from.
What you see here is a sample screenshot of the Mac OS X network image utility. Now, what I mean by sample screenshot, I can see it, so you can see it too. Enable classic on the image, that's not there. System folder path, that's not there. In other words, the UI is going to be a little bit different.
However, it's going to be a single user interface that comes up that will allow you to create either a Netboot image or a Netinstall image. Why would I want to differentiate between Netboot and Netinstall? all. Well, let me think. So my user comes up and they just see a couple of images and they say, oh, let me try booting from that one. Well, when they boot from that one, it erases their primary hard drive and installs the new operating system onto it. Oops.
That's a lot different experience from just booting to the latest version of the OS and still having the contents of their hard drive available to them. So we want to give the users at least some graphical user interface to be able to differentiate between a boot image and an install image. Now, your installers are going to be really nice and they're not going to erase people's hard drives, except in lab situations where you're controlling all of the machines. You're going to just do things like incrementally update your favorite applications. You're going to write a net boot, a net install image for your suite of apps if you're a third-party developer out there that you can just distribute so that one of the options your users have is to net install your suite of images. One of the things which we're also including, and this is just reminding me, and this isn't in the slides, but that I want to talk a little bit about, is licensing. For those of you who happen to be developers out there, we're now giving the users with Mac OS X the ability to site license install the operating system.
Wait, wait, wait, wait, wait. But that comes with some caveats. You guys who are site licensing have to do some things according to the license, like take responsibility that the users who do the install are going to live up to the license. You have to do some trivial things like on an internal corporate website, put the license agreement. There's some I's to cross and T's to dot. But, um... But what you need to remember is if you're developers out there, you can also give your users the capability of doing that. And you might need to take some time and talk to your attorneys to figure out what the licensing agreement might look like if you're going to give the users the ability to do that.
So the end users are going to love it. They're absolutely going to love it. But especially with an automated install, you could have someone, i.e. most of you, answering yes to do you accept this license agreement and not the person who is actually using the software. So you have to watch out for that.
This is an example of the startup disk in Mac OS X. I believe on your CDs that you got for Mac OS X Jaguar that this is the version that is in the OS. However, none of you have my new Netboot server, so none of you are going to see this. But -- and these icons may change a little bit.
However, what you can see is you can see you've got net boot disk for 9. It should be 9.2.2 probably. A Mac OS 10.2 network disk. You can have multiple versions of this if you wish. You can have as many as you want. Also network installation. You have a net install disk if somebody wanted to install it. And you can see what the differentiation between the... That green arrow may turn red.
It may change a little bit, so don't hold me to the graphics per se. But in addition, you can have multiple servers serving multiple images. So that's a lot of bandwidth on your networks. A lot of you probably aren't going to do that, but you can do that. You can do that.
Okay, so automating your installation. This is, I think, this is where we're now getting into the power tool arena. Because you can automate, you can bypass portions of this with an XML script. You can have some interaction to no interaction. Um, we're hoping to be able to provide you with a default, wait screen, like your primary hard drive is about to be erased. You have 30 seconds to cancel something if you don't wish this to occur. However, I think in most of the cases, when you all write the XML scripts to bypass the installation and answer yes to a series of questions that create a default user name and all that other stuff.
you're not going to give the user the ability to bail. However, if you're giving the users the ability to install a series of applications on a particular CD, I mean on a particular location, a particular partition where they wish, so you've got a suite of site-licensed software, and you want to give your users the ability to pick which volume you put it on. You have no way of knowing whether or not they've got 1, 2, 3, 18 partitions on their hard drive. So you want to be able to give them the ability to choose where that goes. So you want to give them that power. So there's a little to some. And... I'm going to hit this home probably for the next 30 minutes. You can unintentionally create situations which cause your users to lose data. You will be responsible for that. Thank you.
You are the ones who are going to be writing the XML scripts that tell the computer to do that. I am just providing you with the tools. This is an example of, if I want to buy, you all want to, you're asked for this, you want a table saw. If you go to a school situation, you see the table saw, you see a guard over the blade in the school shop. You take that same table saw, you take it out to a construction site where they're building your house, or to a lumber yard, where's the guard? Who knows where the guard is? - Probably the same place as somebody's fingertips, but there's no guard.
And we're giving you a table saw. And we're giving you a guard. And if you take the guard off, and some of your users cut off the tips of their thumb, There are no defaults. We are not providing you with a default automated install. We are going to show you how you can remove the guard. We are not giving you a sample table saw with a guard removed.
So there are two types of installations using our install tool. There's a minimal install. It comes up with no confirmation, though we may add one with this, what I told you about the, you know, you have 30 seconds to remove this tape or the CD will self-destruct. Um... But there is a progress bar, and you auto restart. So there may be a small alert saying, we're getting ready to install Mac OS 10.2, the best operating system on the planet. We're not going to give you do you wish to continue, do you wish to stop? And then we continue.
And then there's a confirm method where the panel allows you to pick what volume you want to install on. It's got an OK button before it, so it doesn't do anything. Thank you. The user selects the targeted volume. It's similar to the experience that you have today with a CD. And where we do this-- and again, this is an ever-changing fluid development environment here. And install tool is an internal tool which is available on the disk, I believe, but it's not called install tool.
uh... when it was called install to when i created these cities it was called installed to when i gave the cities to the people who manufacture who who made them pretty and reporting about but between then and now that change in it Um, I believe it's called Installer. Shaking your head. You back there yet? Okay. It's called Installer.
We're not going to go into a great deal of depth because my team is not responsible specifically for the installer, but extensively what I'm going to go through, what you're allowed to do, this thing, a variety of optional parameters, the optional ones are the ones in brackets. You can get a list of the packages that are allowed to be installed. You can get a list of the volumes that are available with the volume info. Thank you. You can get help. Wow. You can get a list of what metapackages are to be installed or to find which ones are supposed to be installed.
You can designate the path that you wish it to go to. Be very careful on this. Your users may have changed the names of the volumes. So unless you nuke them and rename them, You can designate what's the default language. This could be very useful in determining a pre-configured setup for your installations. um You can save these parameters out. This is really good in debugging and in testing your configuration.
Most of these are here, so you'll have a list of these. When this material is available to you, you'll be able to access this and refer back to it again. Formats, these are options to format the output to an XML file, designate the path of the XML file, have it in verbose mode, check the versioning. the name of the port to send the progress info to. You might want to send that progress information out some port other than the video port. You may be interested in viewing it remotely.
Other things to watch out for. This is new technology. Some of this technology, the technology on 10 is new functionality, though the technology is the same. However, network installation-- differs greatly from netbooting. And how is that? When I netboot my image on 10, it brings me up to the login window.
I execute the login window, the kernel's loaded, the Windows server's loaded, everything's loaded. I log in, it launches the finder, finder's running, and I launch individual applications as I need them, and I'm basically running 10. That data is sometimes being read off of a mounted disk image that's mounted over the network.
With the installer, what you're doing is you're mounting the installer, excuse me, you're mounting the OS, you're launching the installer, and it's copying files from that read-only image over the network. That's a lot of data. We do installations at Apple of the operating system. We do those sometimes over the network.
We sometimes send out emails to people saying, "Please, everybody, don't install at 10:00 in the morning. If you can help it, install a little later." Because what happens is, and even at a big corporate network like Apple's, if you have 5,000 users all doing that kind of installation, it's very slow.
And we have a fast network. So it's much bigger than Netboot. And Netboot is, for those of you who are currently, how many people currently use Netboot? Thank you. 10, 15% of the audience? You know, it can take up a considerable amount of bandwidth. This is not something that you want to do over airport. Thank you.
And not just because of airports, you know, the fact that if I stand in front of an airport base station, you might not get a good signal. It's because of the bandwidth, right? So. Network installation takes up more. You may want to have more. If you're going to be handling network installations, you may want to have more than one server doing them. Thank you.
So the other thing to watch out for is, so we're giving you this networked image utility. And that allows you the ability to take an install image. Insert the CD, create a net boot image. It also allows you to create a net install image. It allows you to automate that. It does not check to see whether or not you've created a net install image and named it a net boot image.
We don't do any error checking for that. We don't know that the bits you put on the disk, because ostensibly all I'm doing when I'm net installing is I'm booting to the installer. Well, I don't check to see whether or not the OS is going to boot to the installer or the login window. Thank you. I rely upon you to turn that flag on so that when the control panel comes up, you see an install image. So that's up to you. Pre-flight, pre-test up your setups. Okay.
You're going to have a lot of cut-off thumbs if you don't. A lot of cut-off thumbs. Thank you. Only use unattended installs when required. in environments that you control. And always, always, always give users a warning beforehand if you're going to do something that they may not know about.
So I'm going to get you out of here a little bit early, unless you have tons of questions. So in summary, we've got a new version of Netboot. The new version of Netboot supports multiple images. It supports Mac OS 9 and Mac OS X. The technology supports, you can have a Mac OS 10.2. If it's a Mac OS, if there is a 10.2.1 or a 10,2.2, you canhave those as well. You can have different flavors of 9. You can have your Japanese 9 image. You can have your English 9 image, your German 9 image. You can have your 9 image with applications installed on It. You can have your plain vanilla 9 image. You can have your kiosk 9 image or your kiosk 10 image. Those kinds of things.
Network installation. We're giving you the capability of installing the software over the network. You're going to be able to take the Mac OS X server, set it up, and upgrade your users to Jaguar. Thank you. You're going to be able to set up a Jaguar 10, 10.2 installation, and use that to install it over at your site. Thank you. But with this functionality, we need you to use it carefully.
So a couple of cleanup items here. For those of you who were here on Monday at 3.30 and at 5, we had an overview of the Mac OS X server. And then that was followed by the Mac OS X server in depth. Those talked a lot about the other portions of Mac OS X. And some of you I recognize from being at that session and may have been asked questions. I want to thank you all for coming. This is a really great turnout for a technology that I think is just now really starting to mature and really starting to be a real useful tool for you all. And if you're developers, what I want to stress to you is use the package format wherever possible. This will allow you to leverage off of our technology to do network installations for your customers. of course. For you people who are actually going to be deploying this, we're trying to give you the tools so that you have the capability and the customizability. We're also giving you the responsibility.
Who to contact. If you have questions or technical kinds of issues that you wish to raise, features that you wish to give, myself, Tom Weir, who's a network and communications evangelist, will be joining me here in a minute. If you have complaints or you have problems, use the appropriate channel for those. I'm not going to turn anybody away, But there are mechanisms that we need to facilitate the use of and need to make sure things get tracked correctly so we know we are making the right decisions at the right times. you