diff options
Diffstat (limited to 'abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-24.html')
-rw-r--r-- | abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-24.html | 452 |
1 files changed, 452 insertions, 0 deletions
diff --git a/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-24.html b/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-24.html new file mode 100644 index 0000000..32a0eb5 --- /dev/null +++ b/abs/core/local-website/htdocs/mythtv-doc/mythtv-HOWTO-24.html @@ -0,0 +1,452 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21"> + <TITLE>Installing and using MythTV: Example Configurations.</TITLE> + <LINK HREF="mythtv-HOWTO-23.html" REL=previous> + <LINK HREF="mythtv-HOWTO.html#toc24" REL=contents> +</HEAD> +<BODY> +Next +<A HREF="mythtv-HOWTO-23.html">Previous</A> +<A HREF="mythtv-HOWTO.html#toc24">Contents</A> +<HR> +<H2><A NAME="s24">24.</A> <A HREF="mythtv-HOWTO.html#toc24">Example Configurations.</A></H2> + +<H2><A NAME="LVM"></A> <A NAME="ss24.1">24.1</A> <A HREF="mythtv-HOWTO.html#toc24.1">Logical Volume Manager (LVM) </A> +</H2> + +<P>LVM greatly increases the flexibility you have in managing your storage +than traditional physical partitions. This section will provide some brief +notes on how to use LVM to create storage space for your video files and how +to add additional disk space in the future. There's lots more that can be +done with LVM, so check the LVM HOWTO +<A HREF="http://tldp.org/HOWTO/LVM-HOWTO/">http://tldp.org/HOWTO/LVM-HOWTO/</A> document for details.</P> + +<P> +<FIGURE> +<EPS FILE="stop.eps"> +<IMG SRC="stop.png"> +<CAPTION><B>NOTE</B>: If you are running MythTV 0.21 and you are using LVM to +create one large filesystem to store your recordings, it's no longer +recommended that you go the LVM route. The preferred solution is to use +<A HREF="mythtv-HOWTO-9.html#storagegroups">Storage Groups</A>. They're more flexible and less +likely to lose all of your recordings if you have a drive failure.</CAPTION> +</FIGURE> +</P> +<P>If you don't understand how to partition a drive, or how to change the +partition type you should stop and look at documentation on how to perform +these steps.</P> +<P> +<FIGURE> +<EPS FILE="stop.eps"> +<IMG SRC="stop.png"> +<CAPTION><B>BIG FAT WARNING</B>: Using an incorrect parameter can make your files +inaccessible, prevent your computer from booting, etc. Be careful!</CAPTION> +</FIGURE> +</P> +<P>Make sure your kernel configuration includes LVM support or that it's +available as a module. Today, most vendors include this by default. You'll +also want to ensure that you have a copy of the LVM utilities; check your +distribution, or get the latest versions from +<A HREF="http://www.sistina.com/products_lvm.htm">http://www.sistina.com/products_lvm.htm</A> and build them manually.</P> +<P>Check that the <B>vgscan</B> program is being run at some point during +your boot sequence - most distributions do this by default. Look for a +message during boot up that looks like this: <CODE>vgscan -- reading all +physical volumes (this may take a while...)</CODE> If you don't see any +messages during boot, you may need to install a LVM init script or confirm +that you have all of the LVM packages installed from your distribution.</P> +<P>LVM uses a few concepts you should be familiar with before starting. +<UL> +<LI>PV (Physical Volume). The actual partition on the hard drive.</LI> +<LI>VG (Volume Group). The aggregation of all the PVs make a VG.</LI> +<LI>LV (Logical Volume). Subdivision of the pool of space available in +the VG into individual chunks, like /usr, /var/video, etc.</LI> +</UL> +</P> +<P>The following example assumes that you want to create a LVM partition from a +chunk of space in /dev/hda5, using a reiserfs filesystem and mounted on +/var/video. You later decide to extend this filesystem by adding a new disk: +/dev/hdb.</P> +<P>You need to create at least one LVM partition for a physical volume. Use +<B>fdisk</B> or your favorite partition editor to set the type to LVM +(0x8e). If you're using an entire disk, create one big partition rather than +using the device itself. e.g. use /dev/hdb1 not /dev/hdb. </P> +<P>In the following example, you have a 15GB disk. The first 6GB are set as +your boot partition. <CODE>/dev/hda2</CODE> was added as an extended partition, +and within that partition you created the <CODE>/dev/hda5</CODE> linux (ext2) +partition.</P> +<P> +<BLOCKQUOTE><CODE> +<PRE> +# fdisk /dev/hda + +The number of cylinders for this disk is set to 1823. +There is nothing wrong with that, but this is larger than 1024, +and could in certain setups cause problems with: +1) software that runs at boot time (e.g., old versions of LILO) +2) booting and partitioning software from other OSs + (e.g., DOS FDISK, OS/2 FDISK) + +Command (m for help): p + +Disk /dev/hda: 15.0 GB, 15000330240 bytes +255 heads, 63 sectors/track, 1823 cylinders +Units = cylinders of 16065 * 512 = 8225280 bytes + + Device Boot Start End Blocks Id System +/dev/hda1 * 1 764 6136798+ 83 Linux +/dev/hda2 765 1823 8506417+ 5 Extended +/dev/hda5 765 1823 8506417 83 Linux + +Command (m for help): t +Partition number (1-6): 5 +Hex code (type L to list codes): 8e + +Command (m for help): p + +Disk /dev/hda: 15.0 GB, 15000330240 bytes +255 heads, 63 sectors/track, 1823 cylinders +Units = cylinders of 16065 * 512 = 8225280 bytes + + Device Boot Start End Blocks Id System +/dev/hda1 * 1 764 6136798+ 83 Linux +/dev/hda2 765 1823 8506417+ 5 Extended +/dev/hda5 765 1823 8506417 8e Linux LVM + +Command (m for help): w + +# +</PRE> +</CODE></BLOCKQUOTE> +</P> +<P>Create the LVM physical volume from the partitions (repeat if you have +multiple partitions to use): +<BLOCKQUOTE><CODE> +<PRE> +# pvcreate /dev/hda5 +</PRE> +</CODE></BLOCKQUOTE> + +Create a LVM volume group out of this physical volume called "VGforMyth" that is +allocated in chunks that are a multiple of 64MB +<BLOCKQUOTE><CODE> +<PRE> +# vgcreate VGforMyth -s 64m /dev/hda5 +</PRE> +</CODE></BLOCKQUOTE> + +Create a logical volume of 5GB called "video" and then create the reiserfs +filesystem and mount it: +<BLOCKQUOTE><CODE> +<PRE> +# lvcreate --name video --size 5G VGforMyth +# mkreiserfs /dev/VGforMyth/video +# mount /dev/VGforMyth/video /var/video +</PRE> +</CODE></BLOCKQUOTE> + +Now create a 3GB volume for mythmusic files if you like: +<BLOCKQUOTE><CODE> +<PRE> +# lvcreate --name music --size 3G VGforMyth +# mkreiserfs /dev/VGforMyth/music +# mount /dev/VGforMyth/music /var/music +</PRE> +</CODE></BLOCKQUOTE> + +Display the volume group status: +<CODE># vgdisplay -v</CODE></P> +<P>Now, lets suppose you want to add a 60GB hard disk to the system as hdb and +allocate 50GB of it to video storage.</P> +<P>First, create a single partition /dev/hdb1 covering the whole disk and make +it type 0x8e using your partition editor.</P> +<P><CODE># fdisk /dev/hdb</CODE> +.... create partition, set type, save and reboot if it says you have to</P> +<P>Create the new LVM physical volume:</P> +<P><CODE># pvcreate /dev/hdb1</CODE></P> +<P>Add the new physical volume to the volume group:</P> +<P><CODE># vgextend VGforMyth /dev/hdb1</CODE></P> +<P> +<FIGURE> +<EPS FILE="stop.eps"> +<IMG SRC="stop.png"> +<CAPTION><B>NOTE</B>: You may get errors at this point stating that there are no +physical volumes available for adding to the LV, even though you know for a +fact that there are. You may need to specify the physical volume in the <CODE>/dev/ide/host/bus/target/lun/etc</CODE> format.</CAPTION> +</FIGURE> + +Once you've completed one of the following two procedures, use <B>df</B> +to check that you've got more space.</P> +<P>Make the logical volume used for video bigger:</P> +<P><CODE># lvextend --size +50G /dev/VGforMyth/video</CODE></P> +<H3>ReiserFS</H3> + +<P>Unmount, resize and remount the filesystem. Technically, you don't need to +unmount and remount the ReiserFS. +<BLOCKQUOTE><CODE> +<PRE> +# umount /var/video +# resize_reiserfs /dev/VGforMyth/video +# mount /dev/VGforMyth/video /var/video +</PRE> +</CODE></BLOCKQUOTE> +</P> + +<H3>ext2 or ext3</H3> + +<P>LVM comes with a program called <B>resize2fs</B>.</P> +<P>Unmount, resize and remount the filesystem. The filesystem <EM>must</EM> be +unmounted during this procedure. +<BLOCKQUOTE><CODE> +<PRE> +# umount /var/video +# resize2fs --size +50G /dev/VGforMyth/video +# mount /dev/VGforMyth/video /var/video +</PRE> +</CODE></BLOCKQUOTE> +</P> +<H3>xfs</H3> + +<P>XFS does not need to be unmounted to extend the size: +<BLOCKQUOTE><CODE> +<PRE> +# xfs_growfs /var/video +</PRE> +</CODE></BLOCKQUOTE> +</P> +<H2><A NAME="advancedpartitionformatting"></A> <A NAME="ss24.2">24.2</A> <A HREF="mythtv-HOWTO.html#toc24.2">Advanced Partition Formatting </A> +</H2> + +<P>The partitions that your distribution sets up for you may not be +optimized for large files. Using LVM in conjunction with the following +techniques can be quite useful.</P> +<P>Unlike a typical filesystem, a MythTV video partition is usually a very +large filesystem filled with a fairly small number of large files. +Filesystem I/O is usually not an issue, even in multi-tuner and/or +multi-frontend setups.</P> +<P>There is however, one aspect of filesystem performance that can have a +bearing on the performance of MythTV. In Linux, deleting a file will +utilize I/O bandwidth until the deletion has been completed. If deleting +the file takes long enough, the video capture buffer may overrun, thereby +resulting in dropped frames. Some filesystems are faster at deleting files +than others and, for multi-gigabyte MythTV video files, these differences +can be significant.</P> +<P>Fortunately, there are published tests ( +<A HREF="http://aurora.zemris.fer.hr/filesystems/big.html">http://aurora.zemris.fer.hr/filesystems/big.html</A>) that provide +insight into filesystem performance under conditions relevant to MythTV +usage. In addition, some limited testing (archived at +<A HREF="http://www.gossamer-threads.com/lists/mythtv/users/52672">http://www.gossamer-threads.com/lists/mythtv/users/52672</A>) +with very large files (10 gigabytes) was reported in the MythTV Users +mailing list.</P> + +<H3>Ext2</H3> + +<P>Ext2 was the defacto standard Linux filesystem for many years. It is +stable, provides good I/O performance and can quickly delete large files. +The primary disadvantage of Ext2 is that it is not a journaling filesystem, +so a file system consistency check (fsck, which is normally only performed +after a system crash) can take many hours on a filesystem the size of a +typical MythTV partition.</P> + +<H3>Ext3</H3> + +<P>Ext3 is Ext2 with a journal, so your biggest gain is that in case of a +crash and reboot you won't have to wait very long for your partition to be +remounted.</P> +<P>There are options available when formatting an Ext3 partition, as in: +<BLOCKQUOTE><CODE> +<PRE> +# mkfs.ext3 -T largefile4 /dev/hdb1 +</PRE> +</CODE></BLOCKQUOTE> +</P> +<P>This example assumes that <CODE>/dev/hdb1</CODE> has already been created using +<B>fdisk</B>. If you're using LVM, <CODE>/dev/hdb1</CODE> may be something like +<CODE>/dev/VGforMyth/video</CODE>.</P> +<P>The "-T largefile4" option creates one inode per 4 megabytes, which can +provide a few percent more storage space. However, tests indicate that +using the "-T largefile4" option can drastically increase the amount of time +required to delete a large file and thus it should only be used with encoder +settings that produce small video files (YMMV).</P> +<P>You can check on your filesystem using the <B>dumpe2fs</B> program. See +the man page for details.</P> +<H3>ReiserFS</H3> + +<P>The Reiser filesystem is another journaling filesystem commonly +distributed with Linux. It is known to be an extremely efficient filesystem +and it especially excels at managing partitions containing a large number of +small files. However, tests indicate it is not the fastest at deleting very +large files. For that reason, it may not be the best choice when using +encoder bitrates that produce very large files.</P> + +<H3>JFS</H3> + +<P>JFS (Journaling File System) is a journaling filesystem originally +developed by IBM for AIX which was later released as open source. While not +as common as Ext3 or ReiserFS, it is distributed with RedHat 9 (RH9), Fedora +Core and Mandriva as well as other distros. According to tests, JFS is the +file deletion speed king, deleting virtually any file in under one second, +even files as large as 10 gigabytes.</P> + +<H3>XFS</H3> + +<P>XFS is a journaling file system originally developed by SGI for Irix, and +later released as open source. While not a part of the default RedHat Linux +9 or Fedora Core installation (although it is a part of Mandriva and Fedora +Core 2+), it can be easily installed via ATrpms. XFS provides deletion +speeds for large files only slightly slower than JFS. According to the test +results shown at ( +<A HREF="http://aurora.zemris.fer.hr/filesystems/big.html">http://aurora.zemris.fer.hr/filesystems/big.html</A>), XFS provide +higher I/O rates than JFS, albeit at a higher CPU loading. This may cause +issues if you do not have the spare CPU capacity to handle XFS, potentially +leading to dropped frames.</P> +<P> +<A NAME="migratingtoSD"></A> </P> +<H2><A NAME="ss24.3">24.3</A> <A HREF="mythtv-HOWTO.html#toc24.3">Migrating from DataDirect Labs to Schedules Direct</A> +</H2> + +<P>MythTV v0.20.2 or later is required to natively support Schedules Direct. +Code has been included to make the transition as simple as possible.</P> +<P><B>You do not need to delete your existing video sources or add new ones!</B> </P> +<P>The following steps should work for most users: +<UL> +<LI>Create a Schedules Direct account and use the same information as your +existing lineups at Zap2It Labs. Do not add or delete channels at this +time.</LI> +<LI>Shut down any running <B>mythfrontend</B> and <B>mythbackend</B> programs.</LI> +<LI>Perform a backup of your existing database. See +<A HREF="mythtv-HOWTO-23.html#backupdb">Saving or restoring the database</A> for instructions.</LI> +<LI>Run <B>mythtv-setup</B> -> Video Sources. Change the grabber to +Schedules Direct, update the username and password fields with the account +information you created at Schedules Direct and select "Retrieve Lineups". +Click Finish.</LI> +<LI>Exit <B>mythtv-setup</B> and run <B>mythfilldatabase</B>. Check +if there were any errors.</LI> +<LI>Restart your <B>mythbackend</B> and <B>mythfrontend</B> programs.</LI> +</UL> +</P> + +<H2><A NAME="ss24.4">24.4</A> <A HREF="mythtv-HOWTO.html#toc24.4">Caching support for Schedules Direct</A> +</H2> + +<P>MythTV 0.20.2 or later supports caching of downloaded information from +Schedules Direct, so devices that share a common source do not require +multiple downloads.</P> +<P>Before beginning, perform a backup of your existing database. See +<A HREF="mythtv-HOWTO-23.html#backupdb">Saving or restoring the database</A> for instructions.</P> +<P>In the following scenario, assume that you have the following: +<OL> +<LI>A PVR-150 MPEG-2 encoder card connected directly to a CATV source.</LI> +<LI>A PVR-250 MPEG-2 encoder card connected via S-Video to a CATV Set Top Box.</LI> +</OL> +</P> +<P>What we are going to do is to create a single lineup at Schedules Direct and +then create two Video Sources which use the same login information but have +different channels associated with them.</P> +<P>On your Schedules Direct account, create a lineup that has all of the +channels that you can receive. Because we have a Set Top Box (STB), choose +a Digital lineup. Yes, this means that you may have 900 channels in this +lineup, but that's OK.</P> +<P>Use the Schedules Direct channel editor and unselect any channels that you +can't tune without the STB. This will usually be channels higher than 125, +but check your CATV provider lineup if you're not sure. Once you've +deselected them (using a click on the first channel you can't receive and +then a shift-click on the last channel you can't receive will deselect all +the channels in between those two.) click the Save Changes button at the +bottom of the screen.</P> +<P>In <B>mythtv-setup</B>, create a Video Source with an appropriate name. +"SD-Analog Only" will be used in this example. Click "Retrieve Lineups" +and select the digital lineup you just created at Schedules Direct.</P> +<P>Click "Finish" to return to the Video sources selector and then press the +ESC key to go back to the main screen.</P> +<P>Now choose Input Connections. Select the PVR-150 which is connected +directly to the CATV. Set the Video Source to "SD-Analog Only" and click +"Fetch channels from listings source".</P> +<P>Set the start channel to an appropriate value.</P> +<P><B>NOTE</B>: There is a bug where the "Fetch" command may not work; you +can tell that the Fetch did not retrieve any channels in one of two ways: in +the text-mode console, you will see a connection to Schedules Direct, but it +doesn't appear to retrieve any channel information: +<BLOCKQUOTE><CODE> +<PRE> +2007-08-25 15:03:05.526 New DB DataDirect connection +2007-08-25 15:03:05.526 Connected to database 'mythconverg' at host: localhost +2007-08-25 15:03:05.536 DataDirect: Your subscription expires on 11/23/2007 01:12:10 PM +2007-08-25 15:03:05.707 New DB connection, total: 3 +2007-08-25 15:03:05.707 Connected to database 'mythconverg' at host: localhost +2007-08-25 15:03:05.708 sourceid 2 has lineup type: CableDigital +2007-08-25 15:03:06.623 Data fetching complete. +2007-08-25 15:03:06.624 DataDirect: Deleting temporary files +</PRE> +</CODE></BLOCKQUOTE> +</P> +<P>or, the "Please add channels to this source" message in the "Starting +channel" field stays on the screen.</P> +<P>If either of these happens, save the information on this screen by clicking +the "Finish" button. Exit back to the Input connections screen by pressing +ESC, then select this Input Connection again. This time the Fetch will work +and the "Please add channels to this source" message will disappear.</P> +<P>If you look at the text-mode console, you'll see this if the channel +retrieval is working: +<BLOCKQUOTE><CODE> +<PRE> +2007-08-25 15:04:32.437 New DB DataDirect connection +2007-08-25 15:04:32.437 Connected to database 'mythconverg' at host: localhost +2007-08-25 15:04:32.447 DataDirect: Your subscription expires on 11/23/2007 01:12:10 PM +2007-08-25 15:04:32.622 New DB connection, total: 3 +2007-08-25 15:04:32.622 Connected to database 'mythconverg' at host: localhost +2007-08-25 15:04:32.623 sourceid 2 has lineup type: CableDigital +2007-08-25 15:04:33.418 DataDirect: Adding channel 41 'AMC' (AMC). +2007-08-25 15:04:33.422 DataDirect: Adding channel 32 'A & E Network' (AETV). +2007-08-25 15:04:33.425 DataDirect: Adding channel 66 'Black Entertainment Television' (BET). +2007-08-25 15:04:33.427 DataDirect: Adding channel 180 'Bravo' (BRAVO). +2007-08-25 15:04:33.430 DataDirect: Adding channel 51 'ABC Family' (FAM). +2007-08-25 15:04:33.432 DataDirect: Adding channel 146 'Country Music Television' (CMTV). +2007-08-25 15:04:33.435 DataDirect: Adding channel 39 'CNBC' (CNBC). +2007-08-25 15:04:33.437 DataDirect: Adding channel 36 'Cable News Network' (CNN). +2007-08-25 15:04:33.440 DataDirect: Adding channel 35 'CNN Headline News' (CNNH). +</PRE> +</CODE></BLOCKQUOTE> +</P> +<P>Repeat the Input Connection configuration for any other capture devices that +are connected directly to the CATV system. You do not need to click Fetch +once you've done one successful download of the channel information - the +Starting channel should be automatically populated.</P> +<P>Go back to Schedules Direct and re-enable the channels that you had +previously deselected, then click Save Changes.</P> +<P>Create a new Video Source, here called "SD-All Digital Channels". Perform +the same "Retrieve Listings" you did before.</P> +<P>Go back to the Input Connections screen, select the PVR-250 which is +connected to the STB, assign the "SD-All Digital Channels" video source and +perform a retrieve channels. This will pull down the complete channel +listing, but only for <EM>this</EM> device.</P> +<P>When <B>mythfilldatabase</B> runs, it will cache the "big" download which +is appropriate for the STB, and then copy the information to the channels +that can only be accessed without the STB. But by default +<B>mythfilldatabase</B> is going to notice that the "Analog only" video +source is missing the channels that are in the Digital lineup you created at +Schedules Direct, so we need to override the addition of new channels.</P> +<P>When you run <B>mythfilldatabase</B> to populate your database, you'll +need to run it like this:</P> +<P> +<BLOCKQUOTE><CODE> +<PRE> +$ mythfilldatabase --remove-new-channels +</PRE> +</CODE></BLOCKQUOTE> +</P> +<P>You will also need to modify how the <B>mythbackend</B> calls +<B>mythfilldatabase</B> when it performs its automatic listings update.</P> +<P>In <B>mythfrontend</B>, select "Setup" -> "General".</P> +<P>Continue press ENTER until you reach the Mythfilldatabase configuration +screen. In the "mythfilldatabase Arguments" field, type +--remove-new-channels</P> +<P>then press the TAB key until you reach Finish, then press ENTER to save. +You can then press ESC until you return to the main screen.</P> +<HR> +Next +<A HREF="mythtv-HOWTO-23.html">Previous</A> +<A HREF="mythtv-HOWTO.html#toc24">Contents</A> +</BODY> +</HTML> |