[354] | 1 | <H1 ALIGN=CENTER>
|
---|
| 2 | Latest</H1>
|
---|
| 3 | <P>
|
---|
| 4 | New documentation (<A HREF="monitas/stefan/html/monitasconcepts.html">HTML</A>
|
---|
| 5 | and <A HREF="monitas/stefan/monitasconcepts.pdf">PDF</A>) by Stefan
|
---|
| 6 | Huebner. Nice job!</P>
|
---|
| 7 | <P ALIGN=RIGHT>
|
---|
| 8 | - Hugo, 08/26/2002</P>
|
---|
| 9 | <P>
|
---|
| 10 | New <A HREF="monitas/monitas-latest.tgz">snapshot</A>, hacked by a
|
---|
| 11 | user. Looks good.</P>
|
---|
| 12 | <P ALIGN=RIGHT>
|
---|
| 13 | - Hugo, 08/01/2002</P>
|
---|
| 14 | <P>
|
---|
| 15 | To report a bug, please go to the <A HREF="http://geek.j2solutions.net/bugzilla/">Bugzilla</A>
|
---|
| 16 | page. (Nice work, KP!)</P>
|
---|
| 17 | <P ALIGN=RIGHT>
|
---|
| 18 | - Hugo, 06/21/2002</P>
|
---|
| 19 | <P>
|
---|
| 20 | Latest Monitas tarball is available <A HREF="monitas/monitas-0.1a.tgz">here</A>.
|
---|
| 21 | Use it in conjunction with the latest daily snapshot. It lets you
|
---|
| 22 | backup, compare and restore archives over a network.</P>
|
---|
| 23 | <P ALIGN=RIGHT>
|
---|
| 24 | - Hugo, 06/19/2002</P>
|
---|
| 25 | <P>
|
---|
| 26 | Latest Monitas tarball is available <A HREF="monitas/monitas-0.1a.tgz">here</A>.
|
---|
| 27 | It is alpha-quality code but it works. I can backup, compare and
|
---|
| 28 | restore over a network. It doesn't nuke yet but it works fine on a
|
---|
| 29 | live filesystem. (It restores to /mnt/TESTING as a precaution.)</P>
|
---|
| 30 | <P>
|
---|
| 31 | Monitas-server (daemon) is 25% complete.</P>
|
---|
| 32 | <P>
|
---|
| 33 | Monitas-client (daemon) is 40% complete.</P>
|
---|
| 34 | <P>
|
---|
| 35 | The CLI's, the GUI's and the start/stop wrappers are still in my
|
---|
| 36 | head. :)</P>
|
---|
| 37 | <P ALIGN=RIGHT>
|
---|
| 38 | - Hugo, 06/14/2002</P>
|
---|
| 39 | <P>
|
---|
| 40 | <enderAWAY> hugo: so, I made a new list for monitas.<BR>
|
---|
| 41 | <enderAWAY> monitas-list@j2solutions.net<BR>
|
---|
| 42 | <enderAWAY> send an email to
|
---|
| 43 | monitas-list-subscribe@j2solutions.net to subscribe.</P>
|
---|
| 44 | <P>
|
---|
| 45 | Folks, you heard it here first... ;-)</P>
|
---|
| 46 | <P ALIGN=RIGHT>
|
---|
| 47 | -Hugo, 05/07/2002</P>
|
---|
| 48 | <H2 ALIGN=CENTER>
|
---|
| 49 | <A NAME="FAQ"></A>FAQ</H2>
|
---|
| 50 | <P>
|
---|
| 51 | <I>Q: What is Monitas?</I></P>
|
---|
| 52 | <P>
|
---|
| 53 | A: It isn't ready for public consumption yet but it will be by 02/Q4.
|
---|
| 54 | It will backup and restore over a network. It will let the sysadm
|
---|
| 55 | backup, restore, wipe, and even prep from bare metal the PCs residing
|
---|
| 56 | on the network, all from the comfort of the sysadm's console. Data
|
---|
| 57 | backup/restoration may be requested by the client application. Data
|
---|
| 58 | may be restored without the client having to lift a finger. The
|
---|
| 59 | sysadm can run the show from the server.</P>
|
---|
| 60 | <P>
|
---|
| 61 | I'm going to use this web page as a place where the plan can
|
---|
| 62 | crystallize. Over time, this page will grow into a logical
|
---|
| 63 | explanation of the inner workings of Monitas. This will make it
|
---|
| 64 | easier for others to contribute. It will also help me: I can't write
|
---|
| 65 | half of what Monitas requires :) but I am a quick study and I prefer
|
---|
| 66 | to study in small chunks.</P>
|
---|
| 67 | <P>
|
---|
| 68 | <I>Q: Will Monitas be Open Source?</I></P>
|
---|
| 69 | <P>
|
---|
| 70 | A: Yes. The server and client are made available under the GNU Public License.</P>
|
---|
| 71 | <P>
|
---|
| 72 | <I>Q: Are you crazy? How can you write good software and give it away?</I></P>
|
---|
| 73 | <P>
|
---|
| 74 | A: Well, I hope someone will see Monitas (and Mondo and Mindi) and
|
---|
| 75 | hire me. I am a UK citizen (technically, a 'subject' because we have
|
---|
| 76 | a monarchy but no-one pays much attention to them nowadays) dating a
|
---|
| 77 | Texan. It is very hard to find a job if you do not have a Green Card.
|
---|
| 78 | It would be immoral to ask Michelle to marry me for any reason other
|
---|
| 79 | than love. Therefore, I am looking high and low for any means to
|
---|
| 80 | support myself while I date her. We shall eventually marry and remain
|
---|
| 81 | in the States but in the meantime, I am having to watch my
|
---|
| 82 | expenditure carefully.</P>
|
---|
| 83 | <P>
|
---|
| 84 | Why does this affect you? Well, if you use my software regularly but
|
---|
| 85 | don't pay for it, then eventually I'll have to stop developing it. Of
|
---|
| 86 | course, you'll probably find another $0 program to replace mine, so
|
---|
| 87 | you won't care, but I would rather keep Mondo going for you and the
|
---|
| 88 | tens of thousands of users like you, who rely on Mondo.</P>
|
---|
| 89 | <P>
|
---|
| 90 | Monitas will be better than Mondo. Monitas will use Mondo but for
|
---|
| 91 | client/server network backup and maintenance. If you work for a
|
---|
| 92 | company which uses my software on a regular basis, please consider
|
---|
| 93 | contributing to the project financially or with source patches. How
|
---|
| 94 | else can the project keep going?</P>
|
---|
| 95 | <P>
|
---|
| 96 | So, yes, I'm crazy. :-) I actually believe people are willing to
|
---|
| 97 | support projects like this one, especially if they are using it daily anyway.</P>
|
---|
| 98 | <P>
|
---|
| 99 | <I>Q: Why should commercial users pay for Monitas?</I></P>
|
---|
| 100 | <P>
|
---|
| 101 | A: If you don't support the project, you can't expect me to offer you
|
---|
| 102 | 1-to-1 technical support.</P>
|
---|
| 103 | <P>
|
---|
| 104 | <!-- $MVD$:spaceretainer() --> </P>
|
---|
| 105 | <H2 ALIGN=CENTER>
|
---|
| 106 | <A NAME="progress"></A>Progress</H2>
|
---|
| 107 | <P>
|
---|
| 108 | The client is coming along nicely. So is the server. It'll be
|
---|
| 109 | September before beta-testing commences but the alpha code is already available.</P>
|
---|
| 110 | <H3>
|
---|
| 111 | Server</H3>
|
---|
| 112 | <P>
|
---|
| 113 | The server will come in three parts - the daemon, the CLI
|
---|
| 114 | (command-line interface), and the GUI. The server will keep an SQL
|
---|
| 115 | database of backup information, so that the sysadm can orchestrate
|
---|
| 116 | the smooth backup/restore of data over the network.</P>
|
---|
| 117 | <P>
|
---|
| 118 | The daemon will check its schedule once a minute. (The schedule will
|
---|
| 119 | be a simple text file, to avoid the need to interrogate the SQL
|
---|
| 120 | database 60 times an hour.) If a backup is due to commence now, the
|
---|
| 121 | daemon sends a signal to the client, asking it to begin archiving and
|
---|
| 122 | submitting data for storage. The daemon then receives the data,
|
---|
| 123 | stores it, labels it and indexes it in the SQL database.</P>
|
---|
| 124 | <P>
|
---|
| 125 | If a restore event is requested by the sysadm (or if it is
|
---|
| 126 | scheduled), the daemon tells the client to prepare to receive data.
|
---|
| 127 | The daemon then sends the data and tells the client to reboot if
|
---|
| 128 | necessary (before or after is determined by the nature of the
|
---|
| 129 | scheduled/requested event).</P>
|
---|
| 130 | <P>
|
---|
| 131 | The CLI allows the sysadm to schedule and request events. It will be
|
---|
| 132 | a no-frills interface to the SQL database (and the text file
|
---|
| 133 | containing the backup schedule). Because the daemon is controlled by
|
---|
| 134 | one text file and an SQL database, it is easy to write a client for
|
---|
| 135 | it. So, a GUI should be no problem. I could even write an interface
|
---|
| 136 | in PHP... :^)</P>
|
---|
| 137 | <P>
|
---|
| 138 | The CLI and GUI are really not that hard. The daemon is the hard
|
---|
| 139 | part. In theory, I could Open the CLI and GUI, just for the heck of
|
---|
| 140 | it. The daemon, no way.</P>
|
---|
| 141 | <H3>
|
---|
| 142 | Client</H3>
|
---|
| 143 | <P>
|
---|
| 144 | The client will respond to triggers sent by the server. It will
|
---|
| 145 | backup and restore noninteractively over the network. Like the
|
---|
| 146 | server, the client will come in three parts - the daemon, the CLI,
|
---|
| 147 | and the GUI.</P>
|
---|
| 148 | <P>
|
---|
| 149 | The daemon will wait until it is asked to backup/restore. Then, it
|
---|
| 150 | backs up / restores. Simple.</P>
|
---|
| 151 | <P>
|
---|
| 152 | The CLI will interrogate the daemon. It will permit the client's user
|
---|
| 153 | to place a request with the syadm for a backup/restore operation.
|
---|
| 154 | If/when the sysadm okays it then the backup/restore will proceed.</P>
|
---|
| 155 | <P>
|
---|
| 156 | The GUI will do a prettier job than the CLI. That's about it. The
|
---|
| 157 | client is pretty much a self-cleaning oven.</P>
|
---|
| 158 | <P>
|
---|
| 159 | <!-- $MVD$:spaceretainer() --> </P>
|
---|
| 160 | <H2 ALIGN=CENTER>
|
---|
| 161 | <A NAME="original_email"></A>How it started</H2>
|
---|
| 162 | <P>
|
---|
| 163 | <I>Here is the original e-mail, sent to the Mondo mailing list on
|
---|
| 164 | April 26th, 2002:-</I></P>
|
---|
| 165 | <P>
|
---|
| 166 | We've been kicking some ideas around in #mondo
|
---|
| 167 | (irc.openprojects.net). Here is what we have come up with.</P>
|
---|
| 168 | <P>
|
---|
| 169 | Think, "Client/server backup with an attitude". This will
|
---|
| 170 | be Linux-only for now but we could port to Windows in future, in theory.</P>
|
---|
| 171 | <P>
|
---|
| 172 | Mondo Server (hereafter, "MS") will:-</P>
|
---|
| 173 | <UL>
|
---|
| 174 | <LI CLASS="mvd-P">
|
---|
| 175 | <P>
|
---|
| 176 | accept requests to backup Mondo Clients (hereafter, "MCs")<BR>
|
---|
| 177 | <LI CLASS="mvd-P">accept requests to restore live to MCs<BR>
|
---|
| 178 | <LI CLASS="mvd-P">send Reboot&Restore trigger to MCs<BR>
|
---|
| 179 | <LI CLASS="mvd-P">send "backup to me" triggers to MCs<BR>
|
---|
| 180 | <LI CLASS="mvd-P">send "restore live from me" triggers to MCs<BR>
|
---|
| 181 | <LI CLASS="mvd-P">keep a database of ISOs and their info, in a format
|
---|
| 182 | which makes it easy for the sysadm to figure out:-
|
---|
| 183 | <UL>
|
---|
| 184 | <LI CLASS="mvd-P">when was _this_ MC last backed up?<BR>
|
---|
| 185 | <LI CLASS="mvd-P">how old is our most recent backup of
|
---|
| 186 | /home/hugo/personal/letter-to-girlfriend.doc (or whatever)?<BR>
|
---|
| 187 | <LI CLASS="mvd-P">when is _this_ MC next due to be backed up?<BR>
|
---|
| 188 | <LI CLASS="mvd-P">...etc.</UL>
|
---|
| 189 | <LI CLASS="mvd-P"> store MCs' backups on device (tape, CD, hard
|
---|
| 190 | disks, etc.) controlled by MS, not the MCs</P>
|
---|
| 191 | </UL>
|
---|
| 192 | <P>
|
---|
| 193 | Mondo Client (daemon running on the 'client', a workstation PC) will:-</P>
|
---|
| 194 | <UL>
|
---|
| 195 | <LI CLASS="mvd-P">
|
---|
| 196 | <P>
|
---|
| 197 | receive triggers from MS<BR>
|
---|
| 198 | <LI CLASS="mvd-P">backup PC in response to MS's trigger<BR>
|
---|
| 199 | <LI CLASS="mvd-P">send ISO's to MS<BR>
|
---|
| 200 | <LI CLASS="mvd-P">restore live data streamed from MS to local PC, in
|
---|
| 201 | response to trigger from MS<BR>
|
---|
| 202 | <LI CLASS="mvd-P">reboot&restore from bare metal noninteractively
|
---|
| 203 | in response to request from MS; restore data from MS to MC<BR>
|
---|
| 204 | <LI CLASS="mvd-P">send request to MS, asking for a particular
|
---|
| 205 | directory to be restored to MC (or for a bare-metal restore, if desired)</P>
|
---|
| 206 | </UL>
|
---|
| 207 | <P>
|
---|
| 208 | If you invoke mondoserver (the server program) with -d then it will
|
---|
| 209 | run in daemon mode. It will trigger backups in accordance with its
|
---|
| 210 | configuration. I expect that the MS will be configured to start
|
---|
| 211 | mondoserver at boot-time and to shut it down on reboot/shutdown.</P>
|
---|
| 212 | <P>
|
---|
| 213 | If you invoke mondoclient (the client program) with -d then it will
|
---|
| 214 | run in daemon mode. It will respond to triggers received from the MS.
|
---|
| 215 | I expect that the MCs will be configured to start mondoclient at
|
---|
| 216 | boot-time, etc.</P>
|
---|
| 217 | <P>
|
---|
| 218 | If you run mondoserver without parameters then it will give you a
|
---|
| 219 | warm, friendly interface with which to configure your MS.</P>
|
---|
| 220 | <P>
|
---|
| 221 | If you run mondoclient without parameters then it will give you a
|
---|
| 222 | warm, friendly interface to let you watch what mondoclient (the
|
---|
| 223 | daemon) is doing to your MC. You may push a button to request that
|
---|
| 224 | your MC be backed up. The MS will decide whether to give you what you
|
---|
| 225 | want. (The request will probably sit in a special "The user
|
---|
| 226 | asked for this" queue, where the sysadm can see how often you've
|
---|
| 227 | requested it, whether you should have it, etc.)</P>
|
---|
| 228 | <P>
|
---|
| 229 | Here are the bits I know how to do:-</P>
|
---|
| 230 | <UL>
|
---|
| 231 | <LI CLASS="mvd-P">
|
---|
| 232 | <P>
|
---|
| 233 | [MS] store MCs' backups on device (tape, CD, hard disks, etc.)
|
---|
| 234 | controlled by MS, not the MCs<BR>
|
---|
| 235 | <LI CLASS="mvd-P">[MC] backup the local PC in response to MS's trigger<BR>
|
---|
| 236 | <LI CLASS="mvd-P">[MC] reboot&restore from bare metal (without a
|
---|
| 237 | floppy or a CD) over a network</P>
|
---|
| 238 | </UL>
|
---|
| 239 | <P>
|
---|
| 240 | I haven't figured out these bits yet:-</P>
|
---|
| 241 | <UL>
|
---|
| 242 | <LI CLASS="mvd-P">
|
---|
| 243 | <P>
|
---|
| 244 | [MS] send triggers to MCs<BR>
|
---|
| 245 | <LI CLASS="mvd-P">[MC] receive triggers from MS<BR>
|
---|
| 246 | <LI CLASS="mvd-P">[MS] keep a database of ISOs and their info, in a
|
---|
| 247 | format which makes it easy for the sysadm to track backups<BR>
|
---|
| 248 | <LI CLASS="mvd-P">[MC/MS] send data back & forth (the backups
|
---|
| 249 | themselves, I mean) <--- netcat?</P>
|
---|
| 250 | </UL>
|
---|
| 251 | <P>
|
---|
| 252 | Basically, I know very little about networking but I can learn. I
|
---|
| 253 | also don't own any networked PC's (well, I do but they're 3000 miles
|
---|
| 254 | away). So, I have to do some serious thinking. I can buy some cheap,
|
---|
| 255 | used PC's and network them; use them as testbeds/clients; buy a
|
---|
| 256 | slightly more expensive PC as a server; then I can go from there. I
|
---|
| 257 | expect to do it for <$1500. My apartment hasn't sold yet, so I
|
---|
| 258 | can't start the heavy coding until then. I expect to start within a
|
---|
| 259 | month, though.</P>
|
---|
| 260 | <P>
|
---|
| 261 | I _think_ I can do this by the end of the year. If I'm lucky, I can
|
---|
| 262 | have most of this running reliably by August/September.</P>
|
---|
| 263 | <P>
|
---|
| 264 | I know there are some fairly big companies which use Mondo. I know
|
---|
| 265 | some of their employees are on this list. If you think you know
|
---|
| 266 | someone who would be interested in sponsoring the client/server phase
|
---|
| 267 | of Mondo, please let me know.</P>
|
---|
| 268 | <P>
|
---|
| 269 | There are 3 or 4 hardcore developers waiting to get this done. >:-D</P>
|
---|
| 270 | <P>
|
---|
| 271 | -Hugo, 04/26/2002</P>
|
---|
| 272 | <P>
|
---|
| 273 | <!-- $MVD$:spaceretainer() --> </TD>
|
---|
| 274 | </TR>
|
---|
| 275 | <TR>
|
---|
| 276 | <TD WIDTH="14%" VALIGN=TOP></TD>
|
---|
| 277 | <TD WIDTH="86%" VALIGN=TOP></TD>
|
---|
| 278 | </TR>
|
---|
| 279 | </TABLE></P>
|
---|
| 280 | <P>
|
---|
| 281 |
|
---|
| 282 | </BODY>
|
---|
| 283 | </HTML>
|
---|